如果我用 Javascript 编写:
var o= { aaa :s };
他怎么知道区分
1) 标签命名aaa
2)属性命名aaa
(恕我直言,属性可以不使用"
)
简单地说:
…并且JavaScript解析器知道它在代码中的任何给定点解析什么。
当您(例如)将函数作为属性的值时,它会变得有点复杂,但它基本上归结为解析模式。那时,被解析的堆栈将在顶部有一个函数,在它下面有一个对象字面量。在函数完成之前,对象文字解析不会再次变为“活动”。
HTML 5 规范中提供了如何解析 HTML 的详细示例。JavaScript 的原理基本相同。