看看下面的代码:
var o; (function (p) { p = function () { alert('test'); }; })(o); o(); // Error: 'o is not a function'
在上面的函数中,我创建了一个带有一个参数的匿名函数,该函数使用先前创建的作为参数传递的对象进行自调用.
然后我将这个对象指向一个函数(来自新范围内)并最终(尝试)从外部调用它.
我的问题是,如何通过引用传递该参数来更改它指向的指针?
解决方法
您可以通过利用Javascript通过引用传递对象这一事实来实现您想要的效果:
var o = { }; (function (p) { p.fn = function () { alert('test'); }; })(o); o.fn();