有什么区别?我查看了ECMAScript规范,但不明白。真正有用的代码示例。
如果你能在这里解释每一行,那就很好了
MemberExpression :
PrimaryExpression
FunctionExpression
MemberExpression [ Expression ]
MemberExpression . IdentifierName
CallExpression :
MemberExpression Arguments
CallExpression Arguments
CallExpression [ Expression ]
CallExpression . IdentifierName
例如
console.log - MemberExpression: MemberExpression . IdentifierName
console.log("hi") - CallExpression : MemberExpression Arguments
什么是平等的
CallExpression : CallExpression . IdentifierName
CallExpression [ Expression ]
CallExpression : CallExpression Arguments
的链接
答案 0 :(得分:5)
func()
是CallExpression
thing.func
是MemberExpression
thing
是object
MemberExpression
func
是property
MemberExpression
thing.func()
是MemberExpression
中的CallExpression
thing.func
是callee
CallExpression
来源:astexplorer.net。
答案 1 :(得分:1)
这里的相关部分是
NewExpression: MemberExpression new NewExpression LeftHandSideExpression: NewExpression CallExpression
区分了三个主要的左手边表达式:
所有这些都在会员访问的地方。因此,您列出的作品之间的差异只是CallExpression
总是包含一个调用 - 因此可能不是new
运算符后表达式的一部分。