Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对JavaScript感到困惑';s';这';对象和';var';声明变量_Javascript - Fatal编程技术网

对JavaScript感到困惑';s';这';对象和';var';声明变量

对JavaScript感到困惑';s';这';对象和';var';声明变量,javascript,Javascript,我对JavaScript的这个对象有点困惑 var contextTest = function() { var x = 0; } var test = new contextTest; console.log(test.x); // produces undefined 上面的和这个有什么区别。x=0函数内部 我一直认为这样声明变量会将变量绑定到作用域。声明: var x = 0; 只需在任何函数范围内创建一个局部变量 该变量仅在该函数或函数闭包的生命周期内存在。这种类型的声明从

我对JavaScript的
这个
对象有点困惑

var contextTest = function() {
    var x = 0;
}

var test = new contextTest;
console.log(test.x); // produces undefined
上面的和
这个有什么区别。x=0函数内部

我一直认为这样声明变量会将变量绑定到作用域。

声明:

var x = 0;
只需在任何函数范围内创建一个局部变量

该变量仅在该函数或函数闭包的生命周期内存在。这种类型的声明从不将此变量作为属性绑定到对象。为此,必须显式地为对象的属性赋值,如
this.x=0

如果使用的构造导致函数闭包持久化(代码中有),则局部变量的值将作为私有可访问变量存在于函数闭包中,只能从特定上下文中的特定函数访问。它在某些方面的行为类似于对象的私有实例变量。但是,它不是对象的属性,您不能通过
或对对象的任何其他引用来引用它。只能从声明它的函数中引用它。

声明:

var x = 0;
只需在任何函数范围内创建一个局部变量

该变量仅在该函数或函数闭包的生命周期内存在。这种类型的声明从不将此变量作为属性绑定到对象。为此,必须显式地为对象的属性赋值,如
this.x=0


如果使用的构造导致函数闭包持久化(代码中有),则局部变量的值将作为私有可访问变量存在于函数闭包中,只能从特定上下文中的特定函数访问。它在某些方面的行为类似于对象的私有实例变量。但是,它不是对象的属性,您不能通过
或对对象的任何其他引用来引用它。只能从声明它的函数中引用它。

var x=0
不会将变量分配给函数。它只是碰巧住在里面it@NikolaNinkovic只为文本投票,我甚至没有看页面。@jbabey就是这样:)
var x=0
没有将变量赋值给函数。它只是碰巧住在里面it@NikolaNinkovic只为文本投票,我甚至没有看页面。@jbabey就是这样:)为什么重复他们说的话?@Ark-我不知道你的评论是什么意思。我回答了这个问题,提供的信息比任何其他评论都要多得多。没有其他答案提供这一信息。为什么要重复他们说的话?@Ark-我不知道你的评论是什么意思。我回答了这个问题,提供的信息比任何其他评论都要多得多。没有提供此信息的其他答案。