Javascript 变量a,b,c={}
我认为语法:Javascript 变量a,b,c={},javascript,object,reference,assignment-operator,Javascript,Object,Reference,Assignment Operator,我认为语法: var a, b, c = {}; 这意味着这三个变量是分开的,而不是对同一个{}的引用 这是因为{}是一个对象,这是标准行为吗 因此,如果我这样做: var a, b, c = 0; 三者确实是分开的,而不是参照物 谢谢, Wesley它们不应该是相同的,不。只有c会被赋值 a和b将被声明,但不会初始化为任何内容(它们是未定义的)c作为其中唯一的一个,将被初始化为{} 也许写在几行上更清楚: var a, // no assignment b, /
var a, b, c = {};
这意味着这三个变量是分开的,而不是对同一个{}的引用
这是因为{}是一个对象,这是标准行为吗
因此,如果我这样做:
var a, b, c = 0;
三者确实是分开的,而不是参照物
谢谢,
Wesley它们不应该是相同的,不。只有
c
会被赋值
a
和b
将被声明,但不会初始化为任何内容(它们是未定义的)c
作为其中唯一的一个,将被初始化为{}
也许写在几行上更清楚:
var a, // no assignment
b, // no assignment
c = {}; // assign {} to c
它们不应该相同,不。只有
c
将被分配值
a
和b
将被声明,但不会初始化为任何内容(它们是未定义的)c
作为其中唯一的一个,将被初始化为{}
也许写在几行上更清楚:
var a, // no assignment
b, // no assignment
c = {}; // assign {} to c
这将声明3个变量(a、b、c),但仅定义1个变量(c)
这将声明3个变量(a、b、c),但仅定义1个变量(c)
这将声明3个变量(a、b、c),但仅定义1个变量(c)
这将声明3个变量(a、b、c),但仅定义1个变量(c)。在示例中,您仅定义最后一个元素
a
和b
未定义在示例中,您仅定义最后一个元素
a
和b
未定义变量a、b、c={}代码>仅定义最后一个变量,即c
。它类似于语法vara={},b=[],c=0代码>
它只是声明多个变量的简写形式。vara,b,c={}代码>仅定义最后一个变量,即c
。它类似于语法vara={},b=[],c=0代码>
这只是声明多个变量的简捷方法。使用coma分离变量可以更简洁地在同一范围内定义多个变量。但是,在您的示例中,只有c={}
和a
和b
是未定义的。您可以使用类似的构造来指定如下内容
var a = {first: 'foo'},
b = {second: 'bar'},
c = {third: 'foobar'};
这等于
var a = {first: 'foo'}, b = {second: 'bar'}, c = {third: 'foobar'};
而且
var a = {first: 'foo'};
var b = {second: 'bar'};
var c = {third: 'foobar'};
而每一个都只会提到他们各自的目标。使用comas基本上只是一个视觉方面。使用coma来分离变量,可以更简洁地在同一范围内定义多个变量。但是,在您的示例中,只有c={}
和a
和b
是未定义的。您可以使用类似的构造来指定如下内容
var a = {first: 'foo'},
b = {second: 'bar'},
c = {third: 'foobar'};
这等于
var a = {first: 'foo'}, b = {second: 'bar'}, c = {third: 'foobar'};
而且
var a = {first: 'foo'};
var b = {second: 'bar'};
var c = {third: 'foobar'};
而每一个都只会提到他们各自的目标。使用comas基本上只是一个视觉方面。是的,这三个方面是分开的
逗号运算符先计算左操作数,然后计算右操作数,然后返回右操作数的值
如果只依赖于操作数的求值,而不处理返回值,那么这是一种在一行中声明一组变量的好方法
var i=0,j=1,k=2
基本上等同于var i=0;var j=1;变量k=2
另一个用途是不使用将多个操作压缩到一行上代码>,类似于具有多个循环变量的for循环:
for(变量x=0,y=5;x
请注意x++和y--如何在同一行上执行。是的,三者是分开的
逗号运算符先计算左操作数,然后计算右操作数,然后返回右操作数的值
如果只依赖于操作数的求值,而不处理返回值,那么这是一种在一行中声明一组变量的好方法
var i=0,j=1,k=2
基本上等同于var i=0;var j=1;变量k=2
另一个用途是不使用将多个操作压缩到一行上代码>,类似于具有多个循环变量的for循环:
for(变量x=0,y=5;x
请注意,x++和y--是如何在同一行上执行的。你能解释更多吗?我不明白我不明白。在第一个示例中,a
和b
是未定义的。你是什么意思?你的意思是vara=b=c={}你能再解释一下吗?我不明白我不明白。在第一个示例中,a
和b
是未定义的。你是什么意思?你的意思是vara=b=c={}代码>