有什么方法可以在闭包内定义全局函数吗?我想定义一个全局函数,以便可以通过onclick事件调用它。
(function(){
var private = 'private msg';
function myprivate() {
alert(private)
}
function wanttobeglobal() {
alert(global)
}
})();
有什么办法吗?
答案 0 :(得分:0)
将功能分配给window
:
(function(){
var private = 'private msg';
function myprivate() {
alert(private)
}
window.wanttobeglobal = function wanttobeglobal() {
alert(global)
}
})();
答案 1 :(得分:0)
非常不好的做法,但是在初始闭合之外声明变量的唯一方法是隐式创建全局变量。
wanttobeglobal = function() {
alert(global);
};
如果可以在闭包之外修改代码,更好的方法是使用var
:
var wanttobeglobal;
(function() {
// ...
wanttobeglobal = function() {
alert(global);
};
})();