如何在onclick中访问test2()函数,如普通函数所示,用括号括起来告诉运行时将函数返回到父作用域,一旦它返回函数是使用第4行执行,也许阅读这些步骤将有所帮助。
<p onclick='test().test2()'> some text </p>;
<script>
//the below declaration will not change
var jQuery = 'Hi';
(function ($) {
function test(){
function test2(){
alert('text')
}
alert($)
}
console.log($);
test().test2()
})(jQuery)
</script>
答案 0 :(得分:0)
如果您在与您希望访问该功能的范围相同的范围内声明该功能,则只能访问test2
。在这种情况下,它意味着您需要在外部作用域中声明该函数。
您可以通过在外部作用域中设置变量来实现,如下所示:
var test2;
var jQuery = 'Hi';
(function ($) {
function test(){
test2 = function(){
alert('text')
}
alert($)
}
console.log($);
test(); //test needs to be called first to define test2.
test2();
})(jQuery)
答案 1 :(得分:0)
我检了两次,这有效:
var jQuery = 'Hi';
window.test = (function ($) {
function test(){
this.test2 = function () {
alert('text')
};
alert($);
return this;
}
console.log($);
test().test2();
return test;
})(jQuery);