用户:
SKQA查看:187 回复: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我不到啊(
但是如果obj.b=obj,那么就是无限嵌套,然后就炸了)
点赞0
评论
她想要得到的obj是{a: 1, b: {a: 1}}
无线嵌套是不会炸的,global、globalThis、window(仅标准js环境)三个全等的对象都是无线嵌套的
你甚至可以写global.global.global.global.global.global.global.global.global.global.global.global.global.global
awa我不清楚awa
进一下你的图
来了
awa
我试了一下,把"= {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
评论
在吗,去下你图
box3服务器好像崩了,进不去
现在好像好了
喂,来啊()