javascript注意点(2)

1.prototype和__proto__

所有对象的__proto__都指向其构造器的prototype,即constructor的原型

2.变量作用域的问题

通常认为在当前作用域中找不到变量值时会到其父作用域中去寻找,这种说法是不准确的,应该是会到创建这个函数的作用域中去找

Var b=100;
Var fun1=function(){alert(b)}
Var obj={
      b:10,
      fun:fun1
}
obj.fun()//结果是100

3.settimeout方法

Settimeout方法会在js引擎空闲时,将函数延迟执行。

Var b=0;
Settimeout(function(b=1;alert(1)),0)
While(!b){}

这里永远也不会alert 1,会进入死循环,如果settimeout第二个参数为0,即使js线程空闲了,也不会立马执行,浏览器有一个最小时间,印象中IE是4ms,火狐和谷歌不记得了

这次就这么多了

原文地址:https://www.cnblogs.com/wangwei1314/p/5585508.html