var a=function和function a有什么区别
1 回答
烙印99
TA贡献1829条经验 获得超13个赞
| 12345678910111213 | //代码一:a(1); //执行这个会报错var a = function(index){ alert(index);}a(2); //执行这个不会报错 //代码二:a(1); //执行这个不会报错function a(index){ alert(index);}a(2); //执行这个不会报错 |
原因:JavaScript 函数和变量声明的“提前”(hoist)行为。
区别一:代码一,加载js 代码之后 a 被 “提前",但是 function 里面的具体内容不会被提前。就是在调用 的时候就会去初始化 function 里面的代码块。代码二:加载的时候就 “提前”了。
| 1234567891011121314151617 | //代码一: js 作用域污染function a() { //function statement return '1';}alert(a()); // alerts '3'function a() { return '3';} //代码二:var a= function() { // function expression return '1';};alert(a()); // alerts '3'a= function() { return '1';}; |
- 1 回答
- 0 关注
- 610 浏览
添加回答
举报
0/150
提交
取消
