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

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]);//输出对应的属性值和方法,方法未调用所以输出的是方法的代码
}

最新文章

  1. WPF DataGrid分页功能实现代码 修改原作者不能实现的部分
  2. 【转】Reactor与Proactor两种模式区别
  3. [转]ASP.NET页面之间传递值的几种方式
  4. c#部分---用结构体的题目- //请输入班级人数,输入每个人的学号,姓名,和语文分数、数学分数和英语分数(要求使用结构体)
  5. WCF Windows Service Using TopShelf and ServiceModelEx z
  6. [COCOS2D-X]AssetsManager
  7. 找个输入IPoint在某个FeatureClass上距离最近的要素
  8. MBProgressHUD ---
  9. Unicode解码、URL编码/解码
  10. Vue中结合Flask与Node.JS的异步加载功能实现文章的分页效果
  11. RMI方式Ehcache集群的源码分析
  12. 2019.04.12 Head First
  13. js常用事件
  14. python: 面向对象:类和对象调用类中的变量和方法
  15. Xamarin iOS教程之编辑界面编写代码
  16. 会员通过消费攒积分,升级RENEW以及降级的需求
  17. Samsung_tiny4412(驱动笔记07)----spinlock,semaphore,atomic,mutex,completion,interrupt
  18. NET 读取Word文档信息
  19. salt-api使用
  20. 解决数据库SUSPECT(置疑)状态

热门文章

  1. Oracle的SQL语句中如何处理‘&’符号
  2. Java基础之—反射
  3. shell脚本${}、##和%%使用范例
  4. H5C3动画
  5. python——处理xls表格
  6. 格式化输出之 每行N个元素 list拆分
  7. tp5安装验证码
  8. Getting svn to ignore files and directories
  9. maven3 学习
  10. 【UI测试】--安全性