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 关注
- 547 浏览
添加回答
举报
0/150
提交
取消