JavaScript属性何时不是标识符?

JavaScript属性何时不是标识符?,javascript,Javascript,我正在读这篇文章: 这使得以下声明: 就像查找属性一样,如果要定义的属性 是标识符,可以使用点语法而不是括号语法。 例如,在上面的例子中,你可以说man.sex=male 我在JavaScript中查找标识符,因为我对这条语句有点困惑,发现这篇文章:。 它说: 标识符被视为是一个相对于 系统中的所有其他标识符 后来: Javascript不进行排除,标识符用于: 变量名 函数名 函数形式参数的名称 顾名思义: 什么时候我会得到一个JavaScript对象的属性,它不是一个标识符,因此不能使用.s

我正在读这篇文章:

这使得以下声明:

就像查找属性一样,如果要定义的属性 是标识符,可以使用点语法而不是括号语法。 例如,在上面的例子中,你可以说man.sex=male

我在JavaScript中查找标识符,因为我对这条语句有点困惑,发现这篇文章:。 它说:

标识符被视为是一个相对于 系统中的所有其他标识符

后来:

Javascript不进行排除,标识符用于:

变量名 函数名 函数形式参数的名称

顾名思义:

什么时候我会得到一个JavaScript对象的属性,它不是一个标识符,因此不能使用.syntax进行访问?还是我误读了什么

var someobject = {};
someobject["I'm a turtle"] = true;
我是一只乌龟绝对不是一个标识符

我是一只乌龟绝对不是一个标识符

我在JavaScript中查找标识符,因为我有点困惑 在本声明中,您可以找到:

标识符被视为一个相对于所有其他标识符而言唯一的值 系统中的标识符

点语法将标识符作为语法元素引用,如中所指定。例如,这意味着它们不能包含空格或标点符号

虽然foo-bar x可以用作对象的属性名,但您不能通过点语法obj.foo-bar x访问它,因为它是模糊的。您需要使用括号表示法obj[foo bar x]

另一个常见的例子是数组索引。从技术上讲,它们也是数组对象的属性,就像.length一样。但是,由于整数不是不能以数字开头的标识符,因此不能写入arr.0,而必须使用arr[0]

我在JavaScript中查找标识符,因为我有点困惑 在本声明中,您可以找到:

标识符被视为一个相对于所有其他标识符而言唯一的值 系统中的标识符

点语法将标识符作为语法元素引用,如中所指定。例如,这意味着它们不能包含空格或标点符号

虽然foo-bar x可以用作对象的属性名,但您不能通过点语法obj.foo-bar x访问它,因为它是模糊的。您需要使用括号表示法obj[foo bar x]


另一个常见的例子是数组索引。从技术上讲,它们也是数组对象的属性,就像.length一样。但是,由于整数不是不能以数字开头的标识符,因此不能写入arr.0,而必须使用arr[0]。

例如,使用var obj={'foo bar':'something'};如果不能使用obj.foo-bar,但obj['foo-bar']可以使用object['foo-bar']或object['foo-bar']数组元素,数组元素在规范中也被称为属性,但它们的名称是数字,而不是标识符。@BenM:这是属性名称,不是标识符。g。使用var obj={'foobar':'something'};如果您不能使用obj.foo-bar,但obj['foo-bar']您可以使用object['foo-bar']或object['foo-bar']数组元素,则它们在规范中也被称为属性,但它们的名称是数字,而不是标识符。@BenM:这是属性名称,不是标识符。我可以接受这种情况,您能解释为什么吗?在这种情况下,我不清楚我是什么样的海龟。@NathanielWaggoner这是一种财产。但由于空格和引号的原因,无法通过点语法访问它。看,你不能做任何事,我是一个turtle@CrayonViolent暴力,啊,太棒了。谢谢好吧我可以接受这种情况,你能解释一下为什么吗?在这种情况下,我不清楚我是什么样的海龟。@NathanielWaggoner这是一种财产。但由于空格和引号的原因,无法通过点语法访问它。看,你不能做任何事,我是一个turtle@CrayonViolent暴力,啊,太棒了。谢谢你,谢谢你澄清这一点。非常感谢。我接受你的回答是因为澄清。非常有帮助。请快速跟进,不带空格的obj[foo barX]是否被视为标识符?IE重要的不是属性的分配方式,而是属性名称的空格特征?是的,只有foobarX是标识符字符串。但请注意,标识符不能包含减号:-检查方式:或。或者[]谢谢你澄清这一点。非常感谢。我接受你的回答是因为澄清。非常有帮助。请快速跟进,不带空格的obj[foo barX]是否被视为标识符?IE重要的不是属性的分配方式,而是属性名称的空格特征?是的,只有foobarX是标识符字符串。但请注意,标识符不能包含减号:-检查方式:eith 呃。或[]