-
数据类型
-
基本类型
- 数字 number
- 字符串 string
- 布尔值 boolean
- 空 null
- 未定义 undefined
-
对象类型
- 对象 object
- 函数 function
- 数组 array
- 日期 data
- ...
- 对象 object
-
-
加减+/-运算
- '655'+27 // '65527' string
- '655'-25 // 630 number
Tips:关于JavaScript中的隐式转换,字符串与数字相加,会默认进行拼接运算;字符串与数字相减,会默认进行数学加减运算
思维转换:可利用此特性进行数据类型的隐式转换
如:num+'' //string;string-'' //num
-
=,==,===的区别
- = 赋值
- == 相等运算符,在比较不同的数据类型时,相等运算符会先将数据进行类型转换,然后再用严格相等运算符进行比较
-
转换规则:
- 基本类型之间进行比较
基本类型的值会转换为数字 - 对象函数与基本类型之间进行比较
对象转化成基本类型的值,再进行比较 - null和undefined
null和undefined与其他类型的值比较时,结果都为false,它们互相比较时结果为true - NaN(not a number)
NaN和所有类型相比都不相等,包括他自己 - 相等运算符的缺点
相等运算符隐藏的类型转换,会带来一些违反直觉的结果
这就是为什么建议尽量不要使用相等运算符'' == '0' //false 0 == '' //true 0 == '0' //true false == 'false' //false false == '0' //true false == undefined //false false == null //false null == undefined //true ' \t\r\n ' == 0 //true NaN == NaN //false NaN与所有值都不相等,包括自身
tips:关于javascipt运算符详解,推荐阅读 http://javascript.ruanyifeng.com/grammar/operator.html#toc6
- 基本类型之间进行比较
-
基本类型的包装对象
var str = 'string'; //string console.log(str); //string str.t =10; //10 console.log(str.t); //undefined
tips:引用类型和基本包装类型的主要区别就是对象的生存期。使用new操作符创建的引用类型的实例,在执行流离开当前作用域之前都一直保存在内存中。而自动创建的基本包装类型的对象,则只存在于一行代码的执行瞬间,然后立即被销毁。这意味着不能在运行时为基本类型值添加属性和方法。
JavaScript深入浅出第一节
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- typeof 返回的是字符串,有六种可能:"number"、"string"、"boolean"、"object"...