JavaScript深入浅出——数据类型(一)
来源:互联网 发布:js中使用java变量 编辑:程序博客网 时间:2024/05/17 06:40
一、六种数据类型
五种原始类型:number,string,boolean,null,undefined
一种对象类型:object,包含Function,Array,Date....
五种原始类型:number,string,boolean,null,undefined
一种对象类型:object,包含Function,Array,Date....
二、隐式转换
1.+和-
"37"-7 //30
"37"+7 //377
减号表示减法运算,加号表示字符串拼接
1.+和-
"37"-7 //30
"37"+7 //377
减号表示减法运算,加号表示字符串拼接
巧用+/-规则转换类型:num-0变数字,num+0变字符串
2.a==b
"1.23"==1.23 //当等号一边是字符串,一边是数字,会把字符串转为数字再进行比较
0==false
null==undefined
new Object()==new Object()
[1,2]==[1,2]
"1.23"==1.23 //当等号一边是字符串,一边是数字,会把字符串转为数字再进行比较
0==false
null==undefined
new Object()==new Object()
[1,2]==[1,2]
类型相同,同===
类型不同,尝试类型转换和比较:
null==undefined相等
number==string //字符串转数字
boolean==? //先将布尔值转数字
object==number/string //将对象转为基本类型
3.a===b,严格等于
类型不同,返回false
类型相同:大小长度或其他进行比较
特殊:NaN≠NaN
new Object≠new Object(对象的比较是用引用去比较而不是值进行比较)
类型不同,返回false
类型相同:大小长度或其他进行比较
特殊:NaN≠NaN
new Object≠new Object(对象的比较是用引用去比较而不是值进行比较)
三、包装对象
基本数据类型是没有属性和方法的,但是JS会智能将string,number,boolean类型暂时转换包装成对象,使用过后自动删除,所以var str="string";str.length;也是对的,str.t=10;可以显示str.t为10,但是再次输出str就会显示为undefined,因为基本数据类型包装为对象是暂时的
四、类型检测
1.type of适合基本类型及function检测,但不适合null,遇到会失效。typeof null===object
2.Class,通过{}.toString拿到,适合内置对象和基元类型,遇到null和undefined失效;
3.instanceof适合自定义对象,也可以用来检测原生对象,在不同iframe和widow间检测时失效
注意:不同window或iframe之间对象类型检测不能使用instanceof
4.Object.prototype.toString.apply([]);
Object.prototype.toString.apply(function(){});
Object.prototype.toString.apply(null); //在IE7、IE8会返回Object类型
Object.prototype.toString.apply(undefined);
5.constructor继承自原型,指向构造对象的构造器(构造函数),可被改写
6.duck type 鸭子类型
2.Class,通过{}.toString拿到,适合内置对象和基元类型,遇到null和undefined失效;
3.instanceof适合自定义对象,也可以用来检测原生对象,在不同iframe和widow间检测时失效
注意:不同window或iframe之间对象类型检测不能使用instanceof
4.Object.prototype.toString.apply([]);
Object.prototype.toString.apply(function(){});
Object.prototype.toString.apply(null); //在IE7、IE8会返回Object类型
Object.prototype.toString.apply(undefined);
5.constructor继承自原型,指向构造对象的构造器(构造函数),可被改写
6.duck type 鸭子类型
0 0
- JavaScript深入浅出——数据类型(一)
- JavaScript深入浅出学习笔记(一)—数据类型
- JavaScript深入浅出(一)数据类型
- 【慕课学习】《JavaScript深入浅出》——javascript数据类型
- JavaScript 深入浅出 1 数据类型
- 深入浅出JavaScript (一)初识
- 深入浅出JavaScript (一)初识
- 【深入浅出】JavaScript (一)初识
- 深入浅出JavaScript (一)初识
- javaScript (一)数据类型
- Javascript 知识与经验(一)—— 基本数据类型
- JavaScript学习笔记一——数据类型
- javaScript数据类型转换—显式转换(一)
- JavaScript数据类型一——数据类型及相关操作
- 深入浅出JavaScript—ECMAScript
- JavaScript基础(一)--数据类型
- 深入浅出 Javascript API(一)--基本框架
- 深入浅出 Javascript API(一)--基本框架
- haffuman树
- EditText获取焦点的一系列方法
- 信号量与互斥锁的区别
- Java如何给极光推送发消息
- CCF 201509-1 数列分段
- JavaScript深入浅出——数据类型(一)
- Java-NowCoder-取近似值
- Lightoj1338——Hidden Secret!(模拟)
- C++中各种基本数据类型转换为string类型
- zip压缩算法分析(2)
- 匿名对象
- Codeforces Round #341 (Div. 2) D. Rat Kwesh and Cheese
- nyoj 325 和 nyoj 456【经典dp】
- 归并排序-《算法导论》学习笔记二