gpt4 book ai didi

JavaScript 对象解析

转载 作者:可可西里 更新时间:2023-11-01 02:45:00 28 4
gpt4 key购买 nike

我正在尝试解析 javascript(使用 javascript),但我遇到了对象问题。 javascript如何判断对象和 block 的区别?

例如

{ x : 1, y : 2}

token 流:

[{][x][:][1][,][y][:][2][}]

显然是一个对象,但是

{ var x = 1; var y = 2}

token 流:

[{][var][x][=][1][;][var][y][=][2][}]

是一个完全有效的匿名 javascript block 。我将如何有效地将每个 token 流识别为对象或 block ?

然而,比这两者更重要的是我如何确定 token 流之间的区别,可以是一个对象或一个 block ,如下所示:

{ a : null }

token 流:

[{][a][:][null][}]

这可以是一个对象,其参数 a 等于 null,或者它可以是一个 block ,其中 block 中的第一个语句 (null) 有一个标签(a)

最佳答案

你不知道。

语法的上下文影响它的身份。您不能只是断章取义并确定它们是什么。

在语法中,一个对象字面量是:

'{' (propertyNameAndValueList)? '}'

而一个 block 是:

'{' (statementList)? '}'

但是文字只存在于允许表达式的地方,而 block 存在于允许语句的地方。这些不是一回事。

因此,区分这两种形式的是周围环境。

关于JavaScript 对象解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8089737/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com