如何从函数外部获取函数内部的信息
var x = 0;
function myFunction() {
x += 1 //When a button is clicked Javascript will add 1 to x, now x will have a value of 1
}
alert(x) //This returns 0, how to make it return 1
P.S仅纯JavaScript P.P.S尽量简单,没有大量代码。谢谢:))
答案 0 :(得分:2)
你必须先调用myFunction(),例如:
myFunction();
alert(x);
答案 1 :(得分:1)
嗯,你的功能必须为此执行。函数体仅在调用/调用时执行。因此,要么创建IIFE功能,要么稍后调用
myFunction();
alert(x); // now the value has been updated
通过IIFE(立即调用函数表达式),我的意思是
(function(){
x += 1;
})(); // invoke
答案 2 :(得分:1)
应该在警报之前首先调用myFunction
,myFunction()
。这就是你得到0的原因。当加载这个脚本时,x的值为0.因此警报将提醒0.然后每当用户点击你所引用的按钮时,x
的值将是增加1.话虽如此,我认为你需要这样的东西:
function myFunction() {
// when the button will be clicked the value of x
// would be incremented by one.
x += 1
// the new value would be alerted.
alert(x);
}
另一种方式是:
myFunction();
alert(x);
然而,这没有意义,因为每次点击按钮时你需要增加x
的值,而你不需要强制执行{{1} }。
答案 3 :(得分:0)
首先整理您的myFunction();
,然后您可以按alert(x);
答案 4 :(得分:0)
在这种情况下,其他答案是正确的 - 只需在myFunction();
之前调用alert(x)
,但为了完整性,另一个“从函数外部获取函数内部”的选项是返回一个值来自功能:
var x = 0;
function myFunction() {
return x + 1; // returns 0 + 1 = 1. Note x is still 0
}
var y = myFunction(); // y stores the return value of the function, i.e. 1
alert(y);
答案 5 :(得分:0)
退房:
(function(){
var x=10;
function run(){
alert(x);
}
run();
})();
函数'run'只能访问其范围内的变量。尽管变量'x'在外部定义,但仍然可以访问。您需要更多地研究变量概念的范围。希望澄清一下。