js数据类型 判断
1. js数据类型(两种数据类型)
- 基本数据类型:null undefined number boolean symbol string
- 引用数据类型: array object
null: 空对象
document.getElementById('')
//娶不到的时候返回 null
undefined: 未定义
//1. 定义一个对象 但是没有赋值
//2.访问数组不存的下标(数组越界)
//3.访问对象不存在的属性
//4.一个没有返回值的函数 默认返回 undefined
2.判断数据类型
typeof
typeof 'q'
"string"
typeof 123
"number"
typeof true
"boolean"
typeof null
"object"
typeof undefined
"undefined"
typeof function() {}
"function"
typeof [1,2]
"object"
typeof {a:'1'}
"object"
判断不了数组和对象
// 方案一
[].constructor === Array
// true
a = {a:'1'}
{a: "1"}
a.constructor === Object
// true
//方案二
arr instanceof Array
//判断arr是否是Array实例化对象
//方案三 有兼容性问题 ie8以上
Array.isArray(arr)
对象
var obj = {
name: '',
function = function(){}
}
//类 就是具有相同属性和方法的对象集合
function Person(name) {
this.name = name
this.eat = function() {} //一般方法不写在这里
//因为每次实例化一个对象
//等于新new Function一个函数
}
定义一个类 属性写在构造函数中 方法写在原型上
因为:构造函数为私有变量和函数 会重新声明 要是我们需要公共函数(执行相同效果的函数)
原型上的变量和函数 为共有 且不能传参制作私有变量。引用类型变化会显示在所有实例
对象是属于存在堆内存中
堆内存 栈内存
基本数据类型存在栈内存
引用数据类型存在堆内存
//所以引用类型的变量 声明的时候 其实是指向堆内存中的一个地址
所以传参的时候,引用类型的任何一个地方的改变会影响全局
继承
js数据类型 判断的更多相关文章
- JS数据类型判断的几种方法
JS数据类型判断 JavaScript 中常见数据类型有Number.String.Boolean.Object.Array.Json.Function.Date.RegExp.Error.undef ...
- js数据类型判断和数组判断
这么基础的东西实在不应该再记录了,不过嘛,温故知新~就先从数据类型开始吧 js六大数据类型:number.string.object.Boolean.null.undefined string: 由单 ...
- JS数据类型判断的方法
最常用的判断方法:typeof var a='isString'; var b=121221; var c=[1,2,3]; var d=new Date(); var e=function(){ c ...
- js 数据类型判断
判断type类型 isString (o) { //是否字符串 return Object.prototype.toString.call(o).slice(8, -1) === 'String' } ...
- js数据类型判断
在一般情况下使用typeof 但是有时候typeof返回的结果都是object,比如数组和json对象的时候,这个时候需要用到 instanceof了 还有一个更好得办法,Object.prototy ...
- vue—你必须知道的 js数据类型 前端学习 CSS 居中 事件委托和this 让js调试更简单—console AMD && CMD 模式识别课程笔记(一) web攻击 web安全之XSS JSONP && CORS css 定位 react小结
vue—你必须知道的 目录 更多总结 猛戳这里 属性与方法 语法 计算属性 特殊属性 vue 样式绑定 vue事件处理器 表单控件绑定 父子组件通信 过渡效果 vue经验总结 javascript ...
- 正确判断js数据类型 总结记录
正确判断js数据类型 总结记录 判断js中的数据类型有一下几种方法:typeof.instanceof. constructor. prototype. 三方库. js六大数据类型 number: 数 ...
- 判断数组的方法/判断JS数据类型的四种方法
参考文: 以下 3 个判断数组的方法,请分别介绍它们之间的区别和优劣Object.prototype.toString.call() . instanceof 以及 Array.isArray() h ...
- js中判断数据类型的四种方法总结
js中判断数据类型的四种方法 前言 在js中,我们经常需要判断数据的类型,那么哪些方法可以用来判断数据的类型呢?哪种方法判断数据类型最准确呢? 我们来一个个分析: 1.typeof typeof是一个 ...
随机推荐
- rails work
4.2 Say "Hello", Rails problem weppack not install solve run the command rails webpacker:i ...
- Set和Map集合的比较
HashSet:数据进行hashCode比较,然后进行equals方法比较,根据比较结果进行排序.如果要对对象进行排序,对象类要重写hashCode和equals方法.TreeSet:如果要对对象进 ...
- Ngnix简介
Nginx的产生 没有听过Nginx?那么一定听过它的"同行"Apache吧!Nginx同Apache一样都是一种WEB服务器.基于REST架构风格,以统一资源描述符(Unifor ...
- redhat 7.6 find 命令
1.按名字查找 find ./ -name filename //精确查找 ,./ 代表当前目录 -name 查询名称 filename具体文件名称 find ./ -na ...
- SAVE 、BGSAVE和BGREWRITEAOF执行区别
rdbSave 会将数据库数据保存到 RDB 文件,并在保存完成之前阻塞调用者. save 命令直接调用 rdbSave ,阻塞 Redis 主进程:bgsave 用子进程调用 rdbSave ,主进 ...
- 【转载】将Centos的yum源更换为国内的阿里云源
自己的yum源不知道什么时候给改毁了--搜到了个超简单的方法将yum源更换为阿里的源 完全参考 http://mirrors.aliyun.com/help/centos?spm=5176.bbsr1 ...
- natapp 内网穿透服务
参考文章:https://www.jianshu.com/p/91a321e584b8 参考文章:https://www.jianshu.com/p/c4cb8666c96a 一.什么是内网穿透 通过 ...
- LeetCode中等题(一)
题目一: 给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表 ...
- 启动storm任务时,异常提示
启动storm任务时,异常提示: 14182 [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2000] WARN o.a.s.s.o.a.z.s.NIOServerCnx ...
- @@trancount什么意思(重要)
@@trancount什么意思 https://www.cnblogs.com/monian/archive/2012/08/24/2654392.html 在处理事务的时候,一般都用RollBack ...