这是代码
test ('e');
function test(e) {
test2(e); //undefined
}
(function ($) {
function test2(e) {
alert('test');
}
})
由于某些限制,我不得不这样打电话。有谁知道?
这是代码
test ('e');
function test(e) {
test2(e); //undefined
}
(function ($) {
function test2(e) {
alert('test');
}
})
由于某些限制,我不得不这样打电话。有谁知道?
你不能,函数test2
已经在闭包中定义了,你只能在那个范围内调用函数。
在文档上绑定事件并触发它:
function test(e) {
var param=1;
param2=4;
jQuery(document).trigger('mytest2',[param,param2]);
}
(function ($) {
$(document).bind('mytest2',test2);
function test2(event,param,param2) {
alert('test '+param+' '+param2);
}
})(jQuery)
setTimeout(test,2000);
您可以通过test2
在匿名函数之外声明:
var test2; //Declare test2 in global
(function ($) {
test2 = function (e) { //define test2
alert('test'); //because test2 was declared in global,
}; // it will stay global.
})(jQuery);
test('e'); //Call test
function test(e) {
test2(e); //Since test2 can be access anywhere in your code,
} //it is now defined.
演示:http: //jsfiddle.net/DerekL/LEZkt/