Python字典vs Js对象-动态键

用JavaScript注意到的一件事是,当你创建对象时,你可以定义字符串以外的键:
var  o  =  {name : "lingling"} 
object

在JavaScript中,这是有效的。在Python中,你会得到一个NameError

>>> o = {name: "lingling"}
Traceback (most recent call last):
  File "<input>", line 1, in <module>
NameError: name 'name' is not defined

 

通常这不是一个大问题,除非你想使用JavaScript根据变量中的值创建对象键。这意味着这段代码在Python中可以正常工作

>>>status= "name"
>>> o = {status: "lingling"}
>>> o["status"]
"lingling"

但是在JavaScript中失败:

> var status="name"
  "name"
> var o = {status:"lingling"}
  Object
> o["state"]
  undefined

 

这意味着如果要在JavaScript中动态定义对象键,则需要添加一行代码:

> var status="name"
  "name"
> var o = {}
  Object
> o[status] = "lingling"
> o["status"]
"lingling"

总结:

  • Python在如何处理命名对象方面是一致的。如果你没有命名,Python会抛出NameError
  • JavaScript似乎发出一个未定义的,除非你定义一个对象。

 

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值