猿问

Js 怎么调用(function () {里的函数?

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方法为什么调不到呢?

FFIVE
浏览 1428回答 2
2回答

斯蒂芬大帝

需要通过return的方式把要调用的函数返回给外部。比如:12345678<script>var&nbsp;ta&nbsp;=&nbsp;(function(){//定义一个闭包匿名函数。&nbsp;&nbsp;return&nbsp;function(){//返回匿名函数内部的匿名函数给ta&nbsp;&nbsp;&nbsp;&nbsp;alert('1');&nbsp;&nbsp;}})();ta();//执行ta,弹出信息1</script>补充:闭包是指有权访问另一个函数作用域中的变量的函数,创建闭包的最常见的方式就是在一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变量。这种写法就是闭包的写法,闭包内部的函数如果不是return方式,在外部无法获取,无法进行调用。

绝地无双

var app=(function(){this.test=function(){....};});new app().test();
随时随地看视频慕课网APP
我要回答