变量 1.JavaScript hoisting >>请看例子,我们拿Chrome的console作为JS的运行环境. 上面直接执行console.log(a), 不带一点悬念地抛出了not defined 错误.这是预料之中的. 看下面进化后的代码: 之前变量没有定义的错误没了,取而代之的是告诉我们a的值是 'undefined'.先不管a的值缘何为 'undefined' 了,至少可以知道现a这个变量是定义了,因为之前报的' a is not defined'的错误没有了. 这正是因为Ja…
有人闲的蛋疼,非要在函数中使用如下方式传值,尼玛一下把我搞糊涂了.于是决定发挥打破沙锅问到底的精神搞清楚它. var a = 1,b = [], c = {}; function f(a, b, c){ a = [1, 2, 3]; b = true; c = {x:3, y:5, z: 7}} 代码如上,a是一个数字类型,b是一个数组类型,c是个对象类型. 当作参数传入的过程是: a这个数值类型将内存中的一块标识名为a但填充值为1的内存块复制一份并标识为a,这个a虽跟外部变量a同名,但实际…