关于javascript对象的点操作符和[]操作符

来源:互联网 发布:apache限流 编辑:程序博客网 时间:2024/06/07 00:08

前两天在写一个javascript对象时,遇到了一个有点特殊的写法,我学艺不精,所以之前都没有遇到过,瞬间就懵逼了。内容是这样的:

var twoSum = function(nums, target){    var saved={};    var result=[];    for(var i=0; i< nums.length; i++){      if(saved.hasOwnProperty(nums[i])){        result[0] = saved[nums[i]] ;        result[1] = i;        return result      }      saved[target - nums[i]] = i;    }  };
在代码中有这样的一句:

saved[target-nums[i]] = i ;

这个的意思是给对象一个属性赋值,但是这个属性是一个数字,哈哈,这个就很奇怪了。

第一,对象也可以用数组来做属性名;

第二,对象在使用点.操作符来赋值时,数字是错误的,并不能成功。

就因为这个原因,我自己在测试的时候,一直都不正确,在网上找了些列子也没有这个方法,就在csdn的论坛中发了一个帖子。得到了大家的回复,很感谢。

在帖子中是这样说的


(版主大神的回答,清晰明了,感觉自己的javascript还是很low的)


(其他大神的解释,也很清楚明了)

总结:

在对象中,可以使用点和[] 方法来添加和查找属性,但是点有其局限性,在选择中,属性名要符合规则,不规则的属性名不能使用点。可以使用[] 。

原创粉丝点击