普通函数定义方式
区别
1.函数声明必须包含名称,函数表达式可以省略名称。
2.函数声明有位置限制,不能出现在条件语句、循环语句或其他语句中,而函数表达式没有位置限制,可以出现在语句中实现动态编程。
3.函数声明会先于函数表达式被提升至作用域的顶部,因此用函数声明创建的函数可以在声明之前被调用,而函数表达式必须在表达式之后才能被调用
函数声明式
可以变量提前
function a(){} typeof a; // function typeof b; // function function b(){}
函数表达式
不能变量提前 -> undefined
var c = function (){}; typeof c; // function typeof d; // undefined var d = function (){};
注意表达式右边为 undefined
var e = function f(){}; typeof e; // "function" typeof f; // "undefined"
函数构造式
不能变量提前 -> undefined
var test = new Function('name','alert("hello,"+name)'); //最末尾的是函数体,其前面的都是参数 //函数调用 test('world');
typeof fun1; //undefined var fun1 = new Function('name','alert("hello,"+name)'); var fun2 = new Function('name','alert("hello,"+name)'); typeof fun2; //function
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论