用户:
SKQA查看:11 回复:12 评论:11 创建时间:2022-08-16T21:56:25
var obj = {a:0}
obj.b = obj = {a:1}
console.log(obj) //{a:1}
console.log(obj.a) //1
console.log(obj.b) //undefined我试了一下,把"= {a: 1}"去掉就行了
var obj = {a:0}
obj.b = obj
console.log(obj) // {a: 0, b: {{a: 0, b: {{a: 0, b: {{a: 0, b: {...}}}}}}}}
console.log(obj.a) //1
console.log(obj.b) // {a: 0, b: {{a: 0, b: {{a: 0, b: {{a: 0, b: {...}}}}}}}}
不知道是为什么
点赞0
评论
用python复刻:
class Obj(object): # 创建一个可更改属性值的对象
pass
temp = Obj() # temp: {}
temp.a = 2 # temp: {'a': 2}
obj = Obj() # obj: {}
obj.a = 1 # obj: {'a': 1}
obj.b = obj = temp # obj: {'a': 2} 这句语句的执行顺序:obj.b = obj obj = temp
print(vars(obj)) # {'a': 2} 在python中,vars(xxx)可获得xxx的属性和值的字典点赞0
评论