是否可以在函数内部获取变量值而无需全局设置?
我知道这是可能的:
var testvalue;
function setTestValue(){
testvalue = 30;
}
如果你在setTestValue函数之外console.log
,你会得到:30。这很清楚。
但是,是否有可能产生相同的效果,但没有全局变量?
function setTestValue(){
var testvalue = 30;
}
console.log(testvalue); // will print undefined
我想要这个的原因是因为我无法更改创建此函数的Javascript文件。我只能读它而不是写它所以我需要它一个解决方法。
PS。可能这个问题已经在stackoverflow上被讨厌了,但我真的找不到它。如果有,请提供该问题的链接。谢谢!
答案 0 :(得分:1)
这是有效的(如果你在函数中的变量之前没有var
关键字)
function foo() {
bar = 10; // variable without var comes under window scope so you can access them outside fuction
}
foo();// you have to call the function to set its value
alert(bar) // window.bar also gives 10
答案 1 :(得分:0)
为什么不在函数中返回var:
function setTestValue(){
var testvalue;
do whatever to assign value
return testvalue;
}
console.log(setTestValue());