繁体   English   中英

如何更改JavaScript函数内部的变量声明

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM