首页 新闻 搜索 专区 学院

JS代码理解

0
悬赏园豆:5 [已解决问题] 解决于 2021-03-03 22:36
var Color;
(function (Color) {
    Color[Color["Red"] = 0] = "Red"; // 这行代码怎么理解?
})(Color || (Color = {}));
console.log(Color); // { '0': 'Red', Red: 0 }

请问这段代码怎么理解?

月下大庚角的主页 月下大庚角 | 菜鸟二级 | 园豆:244
提问于:2021-03-03 15:44
< >
分享
最佳答案
1

只能告訴你作用,我也看不懂這麼寫的用意

Color["Red"] = 0 //這個會回傳0

所以

Color[Color["Red"] = 0] = "Red";

就等於

Color[0] = "Red";

炫技吧哈哈,一行代碼賦予color 兩個屬性

收获园豆:4
RosonJ | 老鸟四级 |园豆:4905 | 2021-03-03 16:26
其他回答(2)
2

对于这行代码

Color[Color["Red"]=0]="Red"

先执行了Color["Red"]=0,对Color对象中的Red属性的属性值初始化为0,此时对象Color为:{Red:0},并且返回值为0

console.log(Color["Red"]=0)
//控制台输出 0

此时代码应执行Color[0]="Red"

所以结果为{'0':'Red',Red:0}
收获园豆:1
Jvnjye | 园豆:203 (菜鸟二级) | 2021-03-03 16:45
0

obj.a = obj["a"]

guangzan | 园豆:229 (菜鸟二级) | 2021-07-18 15:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册