var app = (function () {test = function () {.....});});我想在外面调用app的test方法,怎么写呢?app.test() 提示找不到方法。var app = (function () {test = function () {.....});init = function () {.....});return {test:test,init: init,};});这段js里面本身有一个init函数,直接调app.init()是可以的,我加的test方法为什么调不到呢?
2 回答
斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
需要通过return的方式把要调用的函数返回给外部。
比如:
12345678 | <script> var ta = ( function (){ //定义一个闭包匿名函数。 return function (){ //返回匿名函数内部的匿名函数给ta alert( '1' ); } })(); ta(); //执行ta,弹出信息1 </script> |
补充:
闭包是指有权访问另一个函数作用域中的变量的函数,创建闭包的最常见的方式就是在一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变量。这种写法就是闭包的写法,闭包内部的函数如果不是return方式,在外部无法获取,无法进行调用。
- 2 回答
- 0 关注
- 1427 浏览
添加回答
举报
0/150
提交
取消