欢迎来到代码驿站!

当前位置:首页 >

JS访问对象两种方式区别解析

时间:2020-08-29 11:00:16|栏目:|点击:

可以使用下面两种方式访问对象的属性和方法

1.对象名.属性名    对象名.方法名()

2.对象名["属性名"]   对象名"方法名"

   var obj = {
         name : "小明",
         age : 18,
         say : function(){
           console.log("我是"+this.name+"我"+this.age+"岁");
         }      
     };
     console.log(obj.name);
     console.log(obj["name"]);
     obj.say();
     obj["say"]();

对于已经存在的属性和方法,用.和用[]得到的结果一致、

对于不存在(未定义)的属性和方法,用.会创建这个新的属性或方法,而用[]的方式访问不会创建新的属性或方法

例如在用for-in遍历对象时

    for(var x in obj){      
      console.log(x);    //输出obj中的属性名,方法名
      console.log(obj.x);//想要用.的方法输出对应的属性和方法  结果是undefined,原因在于JS语言中.方法可以用来声明,声明对象属性的方式就是属性名.属性值
                   //这里实际先声明了obj的x属性,并且未初始化该属性,然后输出了该属性值,所以为undefined
     }

利用[]方式只能访问和读取,不会定义新的属性

for(var x in obj){      
      console.log(x);    //输出obj中的属性名,方法名
      console.log(obj[x]);//输出对应的属性值和方法,方法未调用所以输出的是方法的代码
    }

上一篇:WPF实现文字粒子闪烁动画效果

栏    目:

下一篇:R语言ggplot2边框背景去除的实现

本文标题:JS访问对象两种方式区别解析

本文地址:http://www.codeinn.net/misctech/4230.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有