具有动态内容的 Alert() javascript
Alert() with dynamic content javascript
alert({s[prop]})
有什么问题,但这个placeholder={s[prop]}
没问题
它说我在 's' 之后缺少一个“,”,在“]”
之后缺少一个“:”
在 React 中,属性周围的 {
}
本质上是 表达式定界符 - 它们表示括号之间的内容是 表达式。所以,如果你有 const str = 'foobar'
,那么:
placeholder={str}
评估为
placeholder='foobar'
但是,在 alert
中,您不是在编写 JSX,而是在编写纯 JS。在表达式上下文中,{
表示对象文字的开始。但以下不是有效的对象字面量:
const obj = {
s[prop]
}
因为对象需要键和值(通常)。也许你想做
alert(s[prop])
唯一一次对象文字 不需要 值是在您使用 shorthand 语法时,当您在当前范围内有一个变量时并希望定义一个对象,其 属性 与变量同名,值与变量相同,例如:
const str = 'foobar';
const obj = { str };
这会导致像 { str: 'foobar' }
这样的对象。
在任何其他情况下,除了值之外,您还需要定义 属性 名称,例如
{ somePropertyName: s[prop] }
alert(s['use your key'])
请这样使用。避免在 alert() 中使用 {},如果使用,您将看到 [object Object] 而不是实际的动态内容。
试试
alert(s[prop])
在 JSX 中打印任何 JS 变量必须用大括号括起来,但在 JS 中使用时不需要,alert
是 JavaScript 函数。
alert({s[prop]})
有什么问题,但这个placeholder={s[prop]}
它说我在 's' 之后缺少一个“,”,在“]”
之后缺少一个“:”在 React 中,属性周围的 {
}
本质上是 表达式定界符 - 它们表示括号之间的内容是 表达式。所以,如果你有 const str = 'foobar'
,那么:
placeholder={str}
评估为
placeholder='foobar'
但是,在 alert
中,您不是在编写 JSX,而是在编写纯 JS。在表达式上下文中,{
表示对象文字的开始。但以下不是有效的对象字面量:
const obj = {
s[prop]
}
因为对象需要键和值(通常)。也许你想做
alert(s[prop])
唯一一次对象文字 不需要 值是在您使用 shorthand 语法时,当您在当前范围内有一个变量时并希望定义一个对象,其 属性 与变量同名,值与变量相同,例如:
const str = 'foobar';
const obj = { str };
这会导致像 { str: 'foobar' }
这样的对象。
在任何其他情况下,除了值之外,您还需要定义 属性 名称,例如
{ somePropertyName: s[prop] }
alert(s['use your key'])
请这样使用。避免在 alert() 中使用 {},如果使用,您将看到 [object Object] 而不是实际的动态内容。
试试
alert(s[prop])
在 JSX 中打印任何 JS 变量必须用大括号括起来,但在 JS 中使用时不需要,alert
是 JavaScript 函数。