接着上一篇,这篇可能有点让人懵逼,另外,看到的小伙伴如果发现哪里有错误之处,欢迎指正。。
typeof() 操作符
返回值:number、string、Boolean、object、undefined、function
注意点:未定义的变量,用typeof判断不报错;null返回的是object
类型转换
- 显式类型转换:
【1】Number():转换为number类型,并返回结果
一定要是纯数字字符串能转为数字,其他的字符串都转换为NaN,特殊的如null转换为0,undefined转换为NaN
【2】parseInt():转为整数 不关注Boolean、undefined等;砍掉小数点后的内容;砍掉非数字位;
另一个作用:parseInt(num,radix)以目标进制为基底将待处理数转为10进制数
注意最后一个在转换时,11ab是合理的16进制数 ,并不进行截断
【3】String():转为字符串,简单理解就是加双引号,任何数加字符串类型全部转为字符串,但是当()里面进行运算时,先进行运算,再转换为字符串
【4】Boolean():除去那六位大佬全部转换为true
转换为false:undefined、null、NaN、0、false、""
【5】toString():
注意:null、undefined不能使用这个方法,会报错
//toString()的一般用法
var a = 123;
var b = a.toString();
console.log(b);
toString(radix): 也可以设置基底,意思是以十进制为基底转为目标进制
- 隐式类型转换:
【1】isNaN():返回true/false,隐式调用Number(),判断返回结果是不是NaN
【2】 "++"/"--":也是隐式调用了Number,看个实例
【3】"==" :就是经历" 对象 --> 字符串 -- > 数值 < -- 布尔 ,最终通过数值比较 "的过程,放几个测试实例感受一波
还有比较特殊的:
虽然null、undefined转换为布尔值为false,但是在利用"=="进行比对时,他们和false是不等的,你以为这就完了?不,这两个哥们他们都不等于别人,所以。。。他们过上了幸福快乐的生活。。。。
然而,除了这个,还有个更奇葩的!!
迷失自我的NaN
它不仅不等于其他的,它更是连自己都不等.....
【3的扩展】关于"===":严格判断,这个的意思可以理解为完全复制,要长得一模一样(上面那个迷失自我的NaN除外)
看完感觉是不是有点绕。。。其实这就是弱类型语言JavaScript的魅力 吧(手动黑人问号???)
【我的博客主要记录一些自己的学习心得和一些难点或者重点的部分,可能知识点比较杂乱一点,需要系统学习的小白,推荐先看看视频或者手册】
:)未完待续。。。