两者之间有什么区别吗?
obj = {'foo': 'bar'}
Run Code Online (Sandbox Code Playgroud)
和
obj = {foo: 'bar'}
Run Code Online (Sandbox Code Playgroud)
我注意到-
当我不使用引号时你不能在密钥中使用.但它真的有所作为吗?如果是的话,哪个?
我有一个页面(page 1
)接受发布请求,做一些事情并在最后显示一些数据.
从另一个页面(page 2
),我想重定向到page 1
单击按钮时,当然发送page 1
通过POST 所需的所有相关数据.
当然,我可以使用在页面上有一个不可见形式的旧hack,在用户点击按钮之后填入我需要的所有数据,然后自动提交().但这看起来很麻烦 - 使用类似的语法更好$.post
,而不是开始操纵html.$.post
它是完美的,它实际上是重定向到页面而不是异步地发出请求(我不能只是page 1
在ajaxy帖子完成后重定向到page 1
需要数据显示的东西).
有没有办法用jquery做我想要的东西,或者丑陋的隐形形式是唯一的出路?
PS
我知道还有其他复杂的方法可以实现我想要的东西,例如$.post
在我们当前使用的页面中使用和只是种植响应的html,但我只是想知道是否有一种直接的方式来实现这一点与jquery
可以有以下区别:
var x = {
hello: 'world'
};
Run Code Online (Sandbox Code Playgroud)
和
var x = {
'hello': 'world'
};
Run Code Online (Sandbox Code Playgroud)
?
也就是说,在什么条件下将属性名称作为字符串赋予不同的结果而不是将其作为"原始"名称?例如,我知道这var x = {}; x['@£$%'] = 'bling!';
是有效的(因为任何字符串都可以是属性),但x.@£$% = 'bling!'
不起作用.语言关键字或保留关键字都不会作为属性名称(因此var x = {for: 'good', class: 'y'};
不起作用.
还要别的吗?
例如,如果
var hello = 'goodbye';
Run Code Online (Sandbox Code Playgroud)
在上面的例子中定义了什么?或者别的,比如
function hello() {
return 'goodbye';
}
Run Code Online (Sandbox Code Playgroud)
?
我应该总是将我的属性命名为字符串,只是为了安全吗?