1
543
他们的意思不同。
如果你使用
在我看来,这是JavaScript最危险的问题之一,应该被弃用,或者至少对警告提出警告。原因是,很容易忘记
|
2
116
这是JavaScript的一个复杂部分,也是它的核心功能之一。变量声明为
关于范围,它是
不
变量会自动变为全局变量。相反,javascript将遍历作用域链,以查看您以前是否使用过该变量。如果它找到一个以前使用过的同名变量的实例,那么它将使用这个实例以及在其中声明的任何范围。如果它在任何地方都没有遇到变量,它最终都会碰到全局对象(
这种行为在与嵌套函数和回调一起使用时非常强大。了解什么
|
3
77
不,它们不是等价的。
用
后一个声明创建了一个您正在使用的作用域的局部变量。 请尝试以下代码以了解差异:
第二个函数改变了全局变量“外部”的值,但第一个函数没有。 |
4
21
不仅仅是本地和全球。使用创建的全局变量
根据目前的答案,这些全局变量,
这就是为什么你应该
总是
使用
|
5
14
编辑我认为不可删除的部分在某个时间点上是真实的,在某个环境中。我一定是梦到了。 |
6
13
关于这个问题有太多的困惑,现有的答案没有一个能清楚、直接地涵盖一切。下面是一些内嵌注释的示例。
声明设置DontDelete标志。任务没有。 声明将该变量绑定到当前作用域。 已分配但未声明的变量将查找要附加到的范围。这意味着它将遍历作用域的食物链,直到找到同名的变量为止。如果找不到,它将附加到顶级作用域(通常称为全局作用域)。
为了非常清楚地描述正在发生的事情, analysis of the delete function 广泛涉及变量实例化和赋值。 |
7
8
看看这个小提琴: http://jsfiddle.net/GWr6Z/2/
|
8
7
未声明的变量(没有
变量声明为
|
9
6
javascript中的var关键字是有目的的。 如果声明一个没有var关键字的变量,如下所示:
它成为一个全局变量,可以从脚本的任何部分访问。如果您不是故意这样做或者不知道,如果您在JavaScript的另一个地方重新使用变量名,可能会导致您的痛苦。 如果用var关键字声明变量,如下所示:
它是作用域的局部(]—大括号、函数、文件,具体取决于放置位置)。 这是一种更安全的处理变量的方法。因此,除非您是故意这样做的,否则尝试使用var关键字声明变量,而不是不使用var关键字。 |
10
4
考虑一下今天StackOverflow上提出的这个问题:
一个好的测试和
实例
在上面的场景中会发生什么…
代码有什么问题?
解决办法是什么?
|
11
4
var 不允许程序员声明变量,因为javascript没有变量。javascript有对象。 var 显式向未定义的对象声明名称。赋值将名称作为句柄分配给已给定值的对象。 使用 var 告诉javascript解释器两件事:
省略 var 告诉javascript解释器使用第一个找到的同名对象的前一个实例。 var作为关键字源于语言设计者的错误决策,这与javascript作为名称源于错误决策的方式非常相似。 ps.学习上面的代码示例。 |
12
0
除了范围之外的所有内容,它们可以被不同地使用。
陈述与表达 |
13
0
不,它不是“必需的”,但如果您不这样做,它也可能会导致严重的问题。不使用var定义变量会将该变量放在它所在的代码部分的范围内。如果没有,则它不包含在该作用域中,并且可以覆盖先前定义的变量,这些变量的名称与您所在函数作用域之外的名称相同。 |
14
-3
我刚从一位同事推荐的论坛上找到答案。如果在函数外部声明一个变量,它总是全局的。无论您是否使用var关键字。但是,如果在函数中声明变量,它有很大的区别。在函数内部,如果使用var关键字声明变量,它将是本地的,但是如果不使用var关键字声明变量,它将是全局的。它可以覆盖以前声明的变量。见更多: http://forum.webdeveloperszone.com/question/what-is-the-difference-between-using-var-keyword-or-not-using-var-during-variable-declaration/#sthash.xNnLrwc3.dpuf |
Softly · 单选按钮未按预期取值 1 年前 |
SlickRed · 我无法使用JS关注HTML元素 1 年前 |
assembler · Nextjs没有处理发布请求 1 年前 |
BADRUM · 执行两个获取功能后,如何导航回页面? 1 年前 |
Toniq · javascript为php保存多维数组 1 年前 |