问答详情
源自:4-3 [JavaScript]属性操作

最后那个3是怎么来的啊?

var obj = {x:1,y:2} obj.x =1; obj.["y"]=2; obj.["x"]=3; 最后个是怎么来的啊

提问者:行走在冬夜冷风中 2016-02-27 13:50

个回答

  • qq_慕慕947699
    2019-10-22 10:40:54

    “=”号是赋值的意思啊

  • 月光下的微笑
    2017-06-04 21:54:07

    “=”号是赋值的意思啊  。 所以呀obj["x"]=3这个意思是将原本x=1重新赋值为x=3;

  • __innocence
    2016-07-24 16:55:49

    obj['x']=3 意思是把三这个值赋值给x这个属性,并不是读取

  • Down_Up
    2016-04-25 16:53:37

    真的输出3了吗,求解释,我感觉代码有错啊!

  • 西蓝
    2016-02-27 17:24:46

    拷过来的,你看看吧。

    var test ={name:1}

    用点的时候,后面需要是一个指定的属性名称,譬如说 test.name,不需要用引号括起来,因为默认name就是test里面的属性,但是如果写 var obj = name 。test.obj就是不正确的,因为obj这个时候是被当成一个固定的字符串,不是变量。

    用中括号的时候 ,括号里面可以是变量或者字符串,譬如说,var obj = "name",test[obj]会自动识别成obj["name"],因为中括号会计算一次生成字符串访问。当然可以直接写obj["name"],

    其实 test.name 最终也会按照 test["name"]去执行的

    所以用点的时候后面一定要是一个指定的 属性名,用[]时候后面一定是一个变量或者固定属性名的字符串。