[英]How to change a variable declare inside a function in javascript
我有一个函数和一个在其中声明的局部变量,我不想将其声明为全局变量,因为某些函数也在使用其默认值
function default()
{
var val="me";
//others.....
}
除了使用原型,还有其他方法吗
function default(value)
{
var val=value;
//others.....
}
就像是,
default.prototype.val = "you";
重新订约
您可以使用默认值作为参数
function default(value ="you")
{
var val=value;
//others.....
}
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/Default_parameters
用法将是这样的
default(); // value will be "you"
default("me"); value will be "me"
function name(s) { return s || "me" } console.log(name()) console.log(name("you"))
不能。无法在函数内部声明变量( var myVar
),然后在函数结束后再访问它。 这是因为变量是在函数的词法范围内创建的,并且在其外部未定义。 以下是有关范围界定工作原理的更多信息: https : //scotch.io/tutorials/understanding-scope-in-javascript
对于您建议的解决方案default.prototype.val
这是行不通的,因为default是一个函数,没有属性或原型。 这是对象所具有的。
正如其他人指出的那样,您可能会传入一个变量或使用默认值,但是您似乎在询问要访问在函数内部创建的变量,而这是不可行的。 您需要返回值或传入由函数修改的变量。
试试这个
function defaultfun (value="") { var val = "me"; alert("new value:"+value+"\\n old value:"+val); } defaultfun(); defaultfun("you");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.