gpt4 book ai didi

javascript - 返回哈希值时出现意外的 token { 错误

转载 作者:行者123 更新时间:2023-12-02 15:05:15 28 4
gpt4 key购买 nike

在我的 react 代码中,我有以下返回哈希值的方法:

foo: function() {
return {{a: 1,b: 2,c: 3}, {d: 4}};
}

在带有 return 语句的行上,我得到了这个:

解析错误:第 141 行:解析文件时出现意外标记 {

为什么会出现这种情况?

最佳答案

您收到该错误是因为当解析器看到第一个 ' { 时',它期望接下来找到一个,但却找到了另一个' { ',这是无效的语法。请参阅 Object Literals 的正确语法.

由于所提供的代码中没有足够的描述性来告诉您除了尝试返回哈希值之外还尝试返回什么,我只能猜测您要么打算返回4 个命名号码:

return { a:1, b:2, c:3, d:4 };

或两个带有命名数字的嵌套对象; 在这种情况下,您必须为每个嵌套对象提供一个键:

return { nested_a: { a:1, b:2, c:3 }, nexted_b: { d:4 } };

要理解原因,请考虑将从 foo 接收返回值的代码。功能。

var foo_result = foo();

如果您想访问a ,例如,您将如何引用它?对于您返回的原始对象( { { a:1, b:2, c:3 }, { d:4 } } ),将无法引用包含 a 的第一个内部对象。 , bc

var a_result = foo_result.?.a; // no way to get at that variable

这就是为什么对象中的每个属性都需要一个。按照我上面的例子:

var a_result = foo_result.nested_a.a; // this works

关于数组声明的注意事项

当您看到array literal时声明如下:

var an_array = [ { a:1, b:2, c:3 }, { d:4 } ];

这是可以的,因为数组有一种隐式的方式来引用它们的元素;按其索引

var a_result = an_array[ 0 ].a; // array indices start at 0

关于javascript - 返回哈希值时出现意外的 token { 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35159893/

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