JavaScript 变量

标签 javascript

我们是否必须像这样声明 js 变量:

var x=5;

或者像这样简单

x=5;

有什么区别?...会影响变量的功能吗?...

最佳答案

variable_name = 5 始终会将 variable_name 放入全局对象(即浏览器中的window) )

如果您位于全局上下文(=不是函数上下文)中,则这两个语句基本相同。但如果您处于函数上下文中,var 将确保该变量仅在当前上下文中声明。

例如:

function foobar() {
    bar = 55;
}

foobar();

window.bar === 55 // true

更好:

function foobar() {
    var bar = 55;
}

window.bar === 55 // false

结论:始终在函数上下文中使用var。这可以避免用变量破坏/覆盖全局对象。

关于JavaScript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4803754/

相关文章:

javascript - 如何通过变量动态调用 ember 组件?

javascript - 我需要一个在每个字符都在 [a-zA-Z0-9_] 之外或者字符串仅为数字的情况下失败的正则表达式

javascript - AngularJs 将过滤表达式传递给末尾带有 true 的指令

javascript - 使用 adal.js 1.0.14 时出现无限登录循环

javascript - 自定义 CSS 到 BootStrap NavBar

javascript - 当 div 的大小通过 Chrome 中的脚本更改时会触发滚动事件,但 IE9 不会

javascript - ScrollTo 在页面上的 div 内

javascript - 作为函数访问值和在knockout js中直接访问值有什么区别?

javascript - 仅为新客户端更新 ServiceWorker

javascript - React 组件中的 CSS 在新行发生变化