0

如果我用 Javascript 编写:

var o= { aaa :s };

他怎么知道区分

1) 标签命名aaa

在此处输入图像描述

2)属性命名aaa(恕我直言,属性可以不使用"

4

1 回答 1

0

简单地说:

  • 一个属性(像那样)只能出现在对象文字中。
  • 标签不能出现在对象文字内。

…并且JavaScript解析器知道它在代码中的任何给定点解析什么。

当您(例如)将函数作为属性的值时,它会变得有点复杂,但它基本上归结为解析模式。那时,被解析的堆栈将在顶部有一个函数,在它下面有一个对象字面量。在函数完成之前,对象文字解析不会再次变为“活动”。

HTML 5 规范中提供了如何解析 HTML 的详细示例。JavaScript 的原理基本相同。

于 2012-07-31T12:41:13.383 回答