object.property方式访问对象属性时的限制

来源:互联网 发布:python 计算均值方差 编辑:程序博客网 时间:2024/05/22 20:28

        刚在阅览关于JavaScript资料,有看到用for in遍历对象的属性,使用的是object.property的方式,却返回undefine,暂时找到了一个合理的理由安慰自己,至于更深层次的原因,待以后深究,故作此记。

                                                                                                                                                                             -----Dragons

       这是最初始的状态:

        var fruitList = {one:'apple',two:'banana',three:'strawberry'};

        for(var fruit in fruitList)

{

//alert(fruitList[fruit]);   // 'apple'  'banana'  'strawberry'

alert(fruitList.fruit);   // undefined   but value of  fruit.toString() is one , two or three.

}

      object.property的方式访问object的属性,会直接使用property在object的属性中进行匹配,而会忽略property具体代表的内容。fruitList.fruit会查询fruitList中名为'fruit'的属性,但在fruitList中是没有该属性的。所以返回undefined。

      而fruitList[fruit]的方式使用的是fruit所包含/代表的值,所以在for in中遍历变量属性,应该使用object[property]的方式。

      至于object.property为什么是这样的访问形式,还有待以后探寻。


另:如果for in中的for后面括号中的变量名设置成与fruitList中某一属性名相同,则会出现很有意思的一个现象,但这也证明了object.property这种访问对象属性的方式是极具针对性的一种具体访问方式(欲访问的property无法被其他变量替代!)

       

        var fruitList = {one:'apple',two:'banana',three:'strawberry'};

        for(var one in fruitList)

{

//alert(fruitList[one]);   // 'apple'  'banana'  'strawberry'

alert(fruitList.one);   // 三次apple的出现  真巧,难道不是吗?

}

        

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 淘宝店铺没有生意怎么办 淘宝店做大了应该怎么办 汽车维修没生意怎么办 淘宝买家具安装怎么办 投标时未记主材费结算时怎么办 不敢买自慰棒怎么办 车被扎了个洞怎么办 企业欠税交不起怎么办 组织代码查不到怎么办 u盾电量不足怎么办 对公账户拍照怎么办 个人怎么办对公账户 车辆超过年检日期怎么办 手机cpu负载过高怎么办 移动数据上网慢怎么办 服务器密码忘记了怎么办 网吧电脑卡死了怎么办 局域网连接不上怎么办 电脑没有dns地址怎么办 无法连接版本服务器怎么办 登录游戏就死机怎么办 亿企薪税保没有绑定企业怎么办 众筹如果不成功怎么办 淘宝被投诉商标权怎么办 茅台贴标褶皱怎么办 ins取不了名字怎么办 ins密码忘了怎么办 ins不记得密码怎么办 ins账号被停用怎么办 电脑登录不上怎么办 电脑桌面密码忘记了怎么办 苹果电脑用户名忘记了怎么办 w7电脑忘记密码怎么办 电脑win10忘密码怎么办 win7账号被停用怎么办 淘宝号忘了怎么办 xp忘记系统密码怎么办 u盘忘记密码怎么办 mac系统密码忘记怎么办 电脑用户名密码忘记怎么办 win7用户名密码忘记怎么办