87,910
社区成员
发帖
与我相关
我的任务
分享
(function (factory) {
console.log(22,factory)
}(function ($) {
console.log(11, $)
}));
(function(factory){
console.log(22);
factory();
}(function(){
console.log(11)
}))
(function(win){
console.log(win)
})(window);
这两个 有什么区别 吗??
(function (factory) {
console.log(22,factory)
}(function ($) {
console.log(11, $)
}));
输出:
22 function ($) {
console.log(11, $)
}
解析:
(function (factory) {
console.log(22,factory)
}(function ($) {
console.log(11, $)
}));
相当于
var a = function(factory) {
console.log(22, factory)
};
var b = function ($) {
console.log(11, $);
}
a(b);
b函数作为参数转入a函数
a函数内只是引入了b变量,并未执行,因此输出为:22 b函数表达式
如果要执行b,需要改写a函数内部:
var a = function(factory) {
console.log(22);
factory();
};
(function(factory){
console.log(22);
factory();
}(function(){
console.log(11)
}))
(function(win){
console.log(win)
})(window);
这两个 有什么区别 吗??
[/quote]没有区别 就是写法不一样