Js 怎么调用(function () {里的函数?
test = function () {
.....
});
});
我想在外面调用app的test方法,怎么写呢?
app.test() 提示找不到方法。
var app = (function () {
test = function () {
.....
});
init = function () {
.....
});
return {
test:test,
init: init,
};
});
这段js里面本身有一个init函数,直接调app.init()是可以的,我加的test方法为什么调不到呢? 展开
需要通过return的方式把要调用的函数返回给外部。
比如:
<script>
var ta = (function(){//定义一个闭包匿名函数。
return function(){//返回匿名函数内部的匿名函数给ta
alert('1');
}
})();
ta();//执行ta,弹出信息1
</script>
补充:
闭包是指有权访问另一个函数作用域中的变量的函数,创建闭包的最常见的方式就是在一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变量。这种写法就是闭包的写法,闭包内部的函数如果不是return方式,在外部无法获取,无法进行调用。
扩展资料:
Function函数与Sub过程类似。但 Function函数可以有返回值。可以使用参数。如果 Function函数没有任何参数,则 Function语句必须要包含空括号。 Function函数通过函数名返回一个值。返回值的数据类型是Variant.
语法: Function 函数名 (参数1,参数2,...)
...
End Function
Function函数是包含在Function和End Function语句之间的一组VBScript语句。
参考资料来源:百度百科-Function函数
需要通过return的方式把要调用的函数返回给外部。
比如:
<script>
var ta = (function(){//定义一个闭包匿名函数。
return function(){//返回匿名函数内部的匿名函数给ta
alert('1');
}
})();
ta();//执行ta,弹出信息1
</script>
补充:
闭包是指有权访问另一个函数作用域中的变量的函数,创建闭包的最常见的方式就是在一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变量。这种写法就是闭包的写法,闭包内部的函数如果不是return方式,在外部无法获取,无法进行调用。
推荐于2017-09-25
this.test=function(){
....
};
});
new app().test();
报错 app is not a constructor
请看我的问题补充
var app = (function () {
test = function () {
alert(1);
};
init = function () {
alert(2)
};
return {
test:test,
init: init
};
});
app().test();//你括号括得不对,{init:init}那行也多了个逗号。。