疑难杂题

1、打印[1,2,3].map(parseInt)得到[1,NaN,NaN]

[1,2,3].map(parseInt)
// 展开
parseInt(1, 0, arr) => parseInt(1) => 1
parseInt(2, 1, arr) => NaN
parseInt(3, 2, arr) => NaN
正确写法

[1,2,3].map((number)=> parseInt(number) )

详解

2、a.x = a = {}

var a = {x: 1}; // 地址 #404
var b = a; // b地址 = #404
a.x = a = {x: 2}; //a.x 是地址#404上的x, 把这个x指定为#505。然后把的a地址指定为 #505 
//此时也就是a的地址为#505,b的地址就是#404
//404上的x是505
// #404.x = a = #505
// #404.x = #505
// b.x = {x: 2}
console.log(a.x) //2 
console.log(b.x) // {x:2}

3、if true / function a / a = 2

var a = 0;
if (true) {
    a = 1;
    function a() {return 3}
    a = 2;
    console.log(a); // 2
}
console.log(a); // 1
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容