《javascript高级程序设计》读书笔记——引用类型之Object类型(细节整理)

来源:互联网 发布:软件测试基础书籍 编辑:程序博客网 时间:2024/05/17 06:26

创建Object实例两种方法:

①用 new 加Object构造函数

var person =new Object();

person.name='lxf';

person.age=20;

②对象字面量表示法(花括号)

var person = {

"name":"lxf",

"age":"20"

}


关于对象字面量表示法的细节:

①花括号出现在表达式语句赋值操作符后面,表示后面是一个“对象的开始”;对比if语句后的花括号表示“语句块的开始”;

②对象字面量表示法中最后一个属性不能最后不加逗号,如果加了会在IE7及其以下版本和 Opera中报错;

对象字面量表示法的另外一种创建方式 var person={ }; 与 var person =new Object();类似 ,区别如下第四条;

对象字面量表示法创建对象时不会调用Object构造函数(可提高效率,有利于JS优化)

⑤用对象字面量表示法给函数传参:虽然命名参数容易处理,但多个可选参数的情况显示不够灵活,推荐"传参单个数值"用命名参数,

  传参多个可选参数用字面量表示法封装,如下

   function display(arg){ }

   var person="lxf";

  display(person);

   display({"name":"lxf","age":"20"});


访问对象属性的两种方法:

①JS同许多其他语言一样访问对象时一般用 “object . 属性名”的方法。

②JS允许把属性名用 object[ "属性名"] 的方式访问成员属性

  方括号的两条优点:

  <1>通过变量访问属性,如上的person 对象:

    var userName= "name";

    alert(person[userName]);//lxf

   这种方法在调用动态变化的属性名时非常有用,如 从后台返回的JSON数据中读取变量属性,此时属性名不确定,可以把它读出来赋值给变量然后访问。

  <2>属性名包含可能引起错误的字符(非数字非字母,如空格和其他符号)时不能用点的方法,只能采用[ ];

     如 alert(person["first name"]);正确 ,而 alert(person .first name)将出错。

注:除非必须采用变量访问属性,否则建议用点方法表示。

0 0