effective javascript 学习心得
Posted abcwt112的博客园
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了effective javascript 学习心得相关的知识,希望对你有一定的参考价值。
第2条:理解javascript的浮点数
1.js数字只有一种类型
2.见代码
/** * Created by Administrator on 2017/7/2. */ console.log("charpter2"); console.log(1-0.41); //0.5900000000000001 double不能精确计算 console.log((8).toString(2));//1000 数字转其他进制输出 console.log(parseInt("1001", 2));//9 其他进制转数字
第3条:当心隐式的类型转换
1. - * / % 在计算之前会把参数转化成数字, +可以是数字或者字符串,有字符串就优先字符串, 位运算符 ~ & | ^ << >> >>>会将参数转化成32位整数
2.见代码
1 console.log("charpter3"); 2 console.log("17" * 3); //51 3 console.log(NaN === NaN);//false 4 console.log(isNaN(NaN));//true 5 console.log(isNaN("haha"));//true 6 console.log(isNaN(""));//false 7 console.log(isNaN(null));//false 8 console.log(isNaN(undefined));//true 9 console.log(null === null);//true 10 console.log(undefined === undefined);//true 11 function isReallyNaN(a) { // 判断参数到底是不是NaN的最简单方法 12 return a !== a; 13 } 14 console.log("object : " + { 15 toString: function () { 16 return "object" 17 }, valueOf: function () { 18 return 123; 19 } 20 }); //优先选择valueOf作为返回值
3. if || && 会把参数转化成布尔值, js里有7个转化后为假的值: false 0 -0 null undefined NaN ""
4.检查参数是否为undefined可以用typeof(x) === "undefined" 或者 x===undefined
以上是关于effective javascript 学习心得的主要内容,如果未能解决你的问题,请参考以下文章