我在其中声明了一个函数和一个局部变量,我不想将其声明为全局变量,因为某些函数也使用其默认值
function default()
{
var val="me";
//others.....
}
除此之外还有其他使用原型(prototype)制作的方法吗
function default(value)
{
var val=value;
//others.....
}
有点像,
default.prototype.val = "you";
重构
最佳答案
没有。不可能在函数内声明一个变量 (var myVar
),然后在函数结束后访问它。这是因为变量是在函数的词法作用域内创建的,而在它之外是未定义的。以下是有关范围界定如何工作的更多信息:https://scotch.io/tutorials/understanding-scope-in-javascript
至于您提出的解决方案 default.prototype.val
这不起作用,因为 default 是一个函数并且没有属性或原型(prototype)。这是一个对象应该有的东西。
正如其他人所指出的,您可以传入一个变量或使用默认值,但您似乎是在询问访问在函数内部创建的变量,而这是不可行的。您需要返回值或传入一个被函数修改的变量。
关于javascript - 如何在javascript中更改函数内的变量声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44843104/