javascript数据类型判断
javascript基本数据类型:原始类型 和 引用类型
原始类型(简单数据类型):String,Number,Boolean,Undefined,Null,Symbol(ES6新增)
引用类型(复杂数据类型):Array,Object
var a = 'hello world';
var b = 100;
var c;
var d = null;
var e = {
name : 'My name is Pelli.'
}
var f = [100,3,'hello',[4,4,67,'hah'],{age : 34}];
var g = function(){
console.log("I am Pelli.");
} console.log(typeof a);//'string'
console.log(typeof b);//'number'
console.log(typeof c);//'undefined'
console.log(typeof d);//'object'
console.log(typeof e);//'object'
console.log(typeof f);//'object'
console.log(typeof g);//'function'
关键方法:typeof,instanceof,constructor,prototype
关键点:
- typeof判断的结果,返回值肯定是字符串
- typeof判断的结果的返回值一定在以下六个之中,ES6(也称为ES2015)之后新增一个,一共七个
- typeof 判断的返回值:string,number,boolean,function,object,undfined,symbol
- instanceof运算符详解,参考链接:http://www.zuojj.com/archives/393.html
- instanceof运算符可以用来判断某个构造函数的prototype属性是否存在另一个要检测对象的原型链上
- instanceof后面的操作数必须是一个对象
- 继承中判断实例是否属于它的父类
- constructor:构造函数;每个对象都有一个constructor属性,指向该对象的构造函数;
- prototype:每个对象都有一个prototype属性,指向该对象的原型对象。
数据类型判断方法:
typeof方法,见上面部分代码;
instanceof方法:返回true或false,适用于引用类型,不适合基本数据类型
var x = [1,2,3,"Pelli","Hello World"];
var y = {
year : 2016,
month : 8
}
var z = function(){} var z1 = 'hello';
var z2 = 123;
var z3 = true;
var z4 = null;
var z5 = undefined; console.log(x instanceof Array);//true
console.log(y instanceof Object);//true
console.log(z instanceof Function);//true console.log(z1 instanceof String);//false
console.log(z2 instanceof Number);//false
console.log(z3 instanceof Boolean);//false
console.log(z4 instanceof Object);//false
console.log(z5 instanceof Object);//false
constructor:
var a1 = 'Pelli';
var a2 = 200;
var a3 = true;
var a4 = null;
var a5 = undefined;
var a6 = {}
var a7 = [1,2];
var a8 = function(){} console.log(a1.constructor === String);//true
console.log(a2.constructor === Number);//true
console.log(a3.constructor === Boolean);//true
console.log(a4.constructor === Object);//Uncaught TypeError:Cannot read property 'constructor' of null...
console.log(a5.constructor === Object);//Uncaught TypeError:Cannot read property 'constructor' of undefined...
console.log(a6.constructor === Object);//true
console.log(a7.constructor === Array);//true
console.log(a8.constructor === Function);//true
prototype
var a1 = 'Pelli';
var a2 = 200;
var a3 = true;
var a4 = null;
var a5 = undefined;
var a6 = {}
var a7 = [1,2];
var a8 = function(){}
console.log(Object.prototype.toString.call(a1) === "[object String]");//true
console.log(Object.prototype.toString.call(a2) === "[object Number]");//true
console.log(Object.prototype.toString.call(a3) === "[object Boolean]");//true
console.log(Object.prototype.toString.call(a4) === "[object Null]");//true
console.log(Object.prototype.toString.call(a5) === "[object Undefined]");//true
console.log(Object.prototype.toString.call(a6) === "[object Object]");//true
console.log(Object.prototype.toString.call(a7) === "[object Array]");//true
console.log(Object.prototype.toString.call(a8) === "[object Function]");//true
相关链接:
http://www.cnblogs.com/mindsbook/archive/2009/09/19/javascriptYouMustKnowPrototype.html
http://blog.sina.com.cn/s/blog_51048da70101grz6.html
http://www.cnblogs.com/yjf512/archive/2011/06/03/2071914.html
javascript数据类型判断的更多相关文章
- 关于 JavaScript 数据类型判断
在 JavaScript 中,有 undefined.null.number.string.boolean 五种基本数据类型,另外,有一种复杂数据类型 object ,类似于 C# 中值类型.引用类型 ...
- JavaScript学习总结(2)——JavaScript数据类型判断
最近做项目中遇到了一些关于javascript数据类型的判断处理,上网找了一下资料,并且亲自验证了各种数据类型的判断,在此做一个总结吧! 一.JS中的数据类型 1.数值型(Number):包括整数. ...
- JavaScript数据类型判断的四种方法
码文不易啊,转载请带上本文链接呀,感谢感谢 https://www.cnblogs.com/echoyya/p/14416375.html 本文分享了JavaScript类型判断的四种方法:typeo ...
- JavaScript 数据类型判断
JavaScript 的数据类型分为两类:原始类型(基本类型)和对象类型(引用类型).原始类型包括数字.字符串和布尔值,另外有两个特殊的原始值:null 和 undefined,除此之外的都是对象.对 ...
- javascript 数据类型判断总结
一 typeof 回顾:js有五种基本数据类型:值类型("number","string","boolean","undefine ...
- javaScript数据类型及判断
ECMAScript数据类型概念: ECMAScript数据类型分为两类:原始类型和对象类型(即基本类型和引用类型): ECMAScript数据类型也可以分为可变类型和不可变类型,数组和对象属于可变类 ...
- Javascript 中的数据类型判断
(迁移自旧博客2017 09 25) typeof 我们常使用typeof来判断数据类型,在常规场景中足以应付数据类型判断的需要: var obj = { name: 'zhangxiang' }; ...
- javascript数据类型的判断
最近看到了很多关于数据类型判断的方法,总结了下 一.javascript的数据类型 js数据分为两种类型:原始数据类型和引用数据类型.原始数据类型有:string.number.boolean.und ...
- 请你讲一讲JavaScript有哪些数据类型, 数据类型判断有哪些方法?
js的8种数据类型 JavaScript中有8种数据类型, 包括基本数据类型(number, string, boolean, null, undefined, symbol, bigint)和引用数 ...
随机推荐
- request.getParameter(“参数名”) 中文乱码解决方法
今天浏览项目时候,遇到一个问题,页面用${requestScope.参数名 }获取的值是乱码,然后搜了一下,最后说是编码的问题,附上查找的结果: 在Java 开发中,如果框架搭建的不完善或者初学者在学 ...
- iOS UITableView删除cell分割线
UITableView是UITableViewStylePlain风格的,这样整个TableView都会被分割线分隔开,不管有没有数据,非常丑. 为了可以自定义cell的分割线: 解决方案: 将UIT ...
- ListDefinition Tips
1)ListTemplate.Type位数不能太长(最长7位),否则启用内容类型后,列表设置中会抛异常. <ListTemplate Name="List1" Type=&q ...
- Android 学习心得 页面跳转,不显示新页面信息
原因: 1.新页面的Activity中,public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceSt ...
- iOS程序破解——class-dump获取头文件
原文在此:http://www.cnblogs.com/mddblog/p/4942894.html 一.简述 class-dump顾名思义,是用来dump目标对象class信息的工具.它根据oc的r ...
- [C#6] 6-表达式形式的成员函数
0. 目录 C#6 新增特性目录 1. 老版本的代码 internal class Person { public string FirstName { get; set; } public stri ...
- 开发者调试工具Chrome Workspace
Workspace是个什么样的东西呢?他能够在开发者工具中调试修改js或者css同时自动保存文件,能够避免开发人员在工具中调试好,再到编辑器中修改一次代码的重复操作,能够提高一定的效率 配置Chrom ...
- [windows]win10家庭版切换到管理员账户
背景:很多时候,在安装或者运行某些程序时会需要到管理员账户运行.而在win10家庭版却没有明显的位置可以让用户简单的进行切换.因此,有了以下的方法. 方法: 1.在搜索框中输入CMD,右键以管理员方式 ...
- [AlwaysOn Availability Groups]AG扩展事件
AG扩展事件 SQL Server 2012定义了一些关于AlwaysOn的扩展事件.你可以监控这些扩展事件来帮助诊断AG的根本问题.你也可以使用以下语句查看扩展事件: SELECT * FROM s ...
- java实现串口通讯
一. 准备工作 1. 点击此下载java串口通讯相关工具 2. 将RXTXcomm.jar放到 %JAVA_HOME%\jre\lib\ext\ 目录下,工程中引入该jar包 3. 将rxtxSe ...