filter等方法的隐式转化
var list = [1,,2,,0,5,9];console.log(list[1]); // console: undefinedconsole.log(list[1] !== null); // console.log: undefined
list = list.filter(item => item !== null);// console: [1, 2, 0, 5, 9]
通过prototype骗过引擎
var proto = {};var obj = Object.create(proto);
function fn() {};fn.prototype = proto;
console.log(obj instance fn);// console: true
浮点数计算问题
0.1 + 0.2 === 0.3 // false0.1 + 0.05 === 0.15; // false0.1 + 0.1 === 0.2; // true0.1 + 0.3 === 0.4; // true0.2 + 0.2 === 0.4; // true0.05 + 0.25 === 0.3; // true0.15 + 0.15 === 0.3; // true
任何操作数与NaN进行关系比较, 结果都为false
"a" < 3; // false"a" >= 3; // false
操作未声明变量
var message; // 变量声明之后取得了默认值// var age;
console.log(message); // console: undefinedconsole.log(age);// Uncaught ReferenceError: age is not defined
// 不报错console.log(typeof message); // console: undefinedconsole.log(typeof age); // console: undefined
console.log(window.message); // console: undefinedconsole.log(window.age); // console: undefined
console.log打印
var arr = [1, 2];console.log(arr); // console 显示[1, 2], 展开后实际没有内容, 长度为0
for(var i=0, len = arr.length; i < len; i++) { arr.shift();}
原文地址:https://www.cnblogs.com/rencoo/p/10835885.html
时间: 2024-10-27 05:35:34