首页 > 代码库 > effective javascript 学习心得
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 学习心得
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。