慕课网JavaScript深入浅出学习笔记之数据类型
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了慕课网JavaScript深入浅出学习笔记之数据类型,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2042字,纯文字阅读大概需要3分钟。
内容图文
JavaScript数据类型
六种数据类型(五种原始类型,一种对象类型)
- number
- sttring
- boolean
- null
- undefined
- object #对象
- Function
- Array
- Date
- ...
javascript数据类型是弱数据类型,在定义变量时无需指定数据类型。
var num = 32;
num = "this is a string";
32 + 32 // 64 #加法运算
//"+"理解为字符串拼接,"-"理解为减法运算
"32" + 32 // "3232" # 字符串拼接
"32" - 32 // 0 # 减法运算
隐式转换
巧用“+”/"-"规则转换类型
var num = "string";
num - 0 //将num对象转换为number
var num = 123;
num + "" //将num对象转换为string
a === b #严格等于
- 首先判断类型,类型不同,返回false
- 类型相同:
- number //数值一样
- string //长度和内容都一样
- null === null
- undefined === undefined
- NaN != NaN //NaN跟任何东西比较都不相等,包括跟自己比较。
- new object != new object //就算是两个空对象,也不相等。
- [1, 2] != [1, 2] //内容相同,顺序一样,也不相等,因为她们不是完全相同的对象
- JavaScript中,对象的比较是用引用去比较的
a == b #等于
- 类型相同,同===
- 类型不同,尝试类型转换再比较:
- null == undefined //true
- number == string //尝试把string转number,1 == "1.0"为true
- boolean == ? //boolean转number,true = 1, false = 0
- object == number | string //尝试把对象转为基本类型 new String(‘hh‘) == ‘hi‘ //true
- 其他:false
包装对象
var str = "string"; //string类型
var strObj = new String("string"); //对象类型,string对应的包装类
str.length //str为基本类型,没有属性。当str访问length属性时,javascript会把基本类型转换为对应的包装对象
类型检测
typeof
{%note danger%}适合检测基本类型和function,遇到null失效{%endnote%}
typeof 100 "number"
typeof true "boolean"
typeof function "function"
typeof(undefined) "undefined"
typeof new Object() "object"
typeof [1, 2] "object"
typeof NaN "number"
typeof null "object" #返回object而不是null,是由于历史原因
instanceof
instanceof操作符是基于原型链去判断,用法:obj instanceof Object
注意: 不同的window或iframe之间的对象类型检测不能使用instanceof!
{%note danger%}可以用来检测自定义对象以及原生对象{%endnote%}
[1, 2] instanceof Array === true
new Object() instanceof Array ===false
Object.prototype.toString.apply()
{%note%}适合内置对象和基本类型,用来检测null会存在兼容性问题{%endnote%}
Object.prototype.toString.apply([]); === "[object Array]"
Object.prototype.toString.apply(function(){}); === "[object Function]"
Object.prototype.toString.apply(null); === "[object Null]"
Object.prototype.toString.apply(unfefined); === "[object Undefined]"
IE6/7/8 Object.prototype.toString.apply(null); 返回"[object Object]"
原文:https://www.cnblogs.com/joycessh/p/8724938.html
内容总结
以上是互联网集市为您收集整理的慕课网JavaScript深入浅出学习笔记之数据类型全部内容,希望文章能够帮你解决慕课网JavaScript深入浅出学习笔记之数据类型所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。