我已经看到了从内到外的访问功能,但是我找不到关于如何使用JQUERY从外部函数访问内部函数变量的确切答案,而不是javaScript 。
我的代码如下
$(document).ready(function(){
var outv=1;
function innerfunc(){
var innerfuncv=2;
var outv=3;
alert(outv);
};
alert(outv);
innerfunc();
alert(outv);
alert(innerfunc.outv);
});//$(document).ready(function() END
请帮忙。谢谢!如果需要更多信息,请告诉我。
答案 0 :(得分:4)
在函数外部定义它们。函数内定义的变量只能用于该函数,因此如果要访问它们,则必须在函数外部定义它们。
$(document).ready(function () {
var outv = 1;
var innerfuncv;
function innerfunc() {
innerfuncv = 2;
outv = 3;
alert(outv);
};
alert(outv);
innerfunc();
alert(outv);
/* alert(innerfunc.outv); this wont work*/
});
答案 1 :(得分:2)
AFAIK,你不能这样做,一个选择是将你的上下文包装在一个对象中:
$(document).ready(function(){
var outv=1;
var inner = {
innerfuncv:2,
outv:3,
innerfunc : function (){
console.log(this.outv);
}
}
console.log(outv);
inner.innerfunc();
console.log(outv);
console.log(inner.outv);
});
答案 2 :(得分:1)
$(document).ready(function(){
var outv=1;//you can access this any where within dom ready..
function innerfunc(){
var innerfuncv=2;//this is a local variable and its scope is within function
outv=3;//get rid of var when you have already declared it.
alert(outv);//this will get overWritten..1 is replaced by 3
};
alert(outv);//will alert 1
innerfunc();
alert(outv);//will alert 3,not 1
});//$(document).ready(function() END