看代码输出结果
for(var i =1; i <=3; i++){
setTimeout(function(){
console.log(i); // 444
},0);
console.log(i);//123
};
原因:Javascript事件处理器在线程空闲之前不会运行。
看看下面代码输出什么
var a =100;
function test(){
console.log(a)
// alert(a);
a =10; //去掉了var 就变成定义了全局变量了
console.log(a)//10
}
test(); //100
console.log(a)//10
正确答案是: 100, 10, 10
function c () {
console.log(a); // function a() {};
function a() {};
var a =10;
a =100;// 100
console.log(a);
}
c();
一行代码实现数组去重?
console.log(new Set([1,2,3,1,'a',1,'a']))
[...new Set([1,2,3,1,'a',1,'a'])]