javascript - 如何在javascript中更改函数内的变量声明

标签 javascript

我在其中声明了一个函数和一个局部变量,我不想将其声明为全局变量,因为某些函数也使用其默认值

 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/

相关文章:

javascript - 如何从传单 map 中删除多个标记并添加新标记?

javascript - 根据选定的搜索条件和搜索关键字显示结果表

javascript - 在 angularjs 1.0.8 中不起作用 PUT 休息服务

javascript - 需要按钮来显示和隐藏叠加导航

javascript - 如何在 Bootstrap 模式对话框中嵌入外部 pdf?

javascript - 无法从旧的 jscalendar 干净地升级到新的 jscal2 版本

javascript - Flowtype libdefs – 如何从不同的 libdef 导入类型?

javascript - 按需提供非缩小的 CSS/javascript

javascript - three.js javascript/raycasting 代码与视网膜显示 mac 不兼容

javascript - AngularJS 使用组件作为输入标签占位符