2016-10-13 23:10发布
function a(b){ var b; console.log(b); // 结果为什么是2 } a(2); function a(b){ var b = 4; console.log(b); //结果为什么是4 } a(2);
这个是arguments和变量的优先顺序在赋值前和赋值后不一样吗。
总结:变量还是那个变量,唯一的区别是第二个函数重新赋值了而已。
最后提的那个问题,其实没有什么优先顺序,同名变量重新 var 定义,会忽略掉。
var
传入函数的参数是这个函数的局部变量
第二个函数 var b = 4, 其实是给 b 重新赋值为4了而已。
var b = 4
第一个函数 a(2) 由于 b 已经是这个函数的局部变量了 var b 其实什么都没做
var b
最多设置5个标签!
付费偷看金额在0.1-10元之间
总结:变量还是那个变量,唯一的区别是第二个函数重新赋值了而已。
最后提的那个问题,其实没有什么优先顺序,同名变量重新
var
定义,会忽略掉。传入函数的参数是这个函数的局部变量
第二个函数
var b = 4
, 其实是给 b 重新赋值为4了而已。第一个函数 a(2) 由于 b 已经是这个函数的局部变量了
var b
其实什么都没做一周热门 更多>