javascript编码点滴20130421

1.函数声明会覆盖变量声明,但不会覆盖变量赋值,为了解释这个,我们来看一个例子:

function value(){
return 1;
}
var value;
alert(typeof value); //"function"

但如果该变量value赋值了,那结果就完全不一样了:
function value(){
return 1;
}
var value = 1;
alert(typeof value); //"number"

该value赋值以后,变量赋值初始化就覆盖了函数声明。

2. 变量声明在进入执行上下文就完成了

3.所有的函数声明都在执行代码之前都已经完成了声明

4. 函数表达式,相当于变量赋值, 所以不会在进入执行上下文前被执行,当然,除了自执行函数外

 5. 同一类型的对象共享prototype中的变量值,即prototype指向的实例在内存中只有一个

6. 用var声明的变量不能被delete掉。但没有用var声明的全局变量可以用delete删掉。

7.===也是比较操作符,不仅比较数值,还比较类型。

8. 字面量与JSON是不同概念,但写法类似,如何判断是哪一个要根据上下文来判断,如果是一个字符串变量就是JSON,如果是一个函数表单式就是字面量函数

原文地址:https://www.cnblogs.com/sdikerdong/p/3033654.html