//函数声明
;(function(win){
function func(name,value){
this.name=name;
this.value=value;
console.log(this.name,this.value);
}
win.func=func();
})(window);
var f=new func('小明','人');// func is not a function
//函数表达式
;(function(win){
var func=function(name,value){
this.name=name;
this.value=value;
console.log(this.name,this.value);
}
win.func=func;
})(window);
var f=new func('小明','人');//小明 人
如上代码,为什么函数声明不能在外面执行呢?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
把函数的返回值传给了win.func而不是函数本身,而这个返回值是undefined
win.func=func();多写了一对括号
孩子你确实需要治疗了,
不是你不明白,而是你把自己绕晕了。
win.func=func();
是吧函数的返回值赋值给win.func
而不是那个函数。