[关闭]
@15152278073 2018-03-28T06:40:02.000000Z 字数 957 阅读 670

Object类型

JS


Object类型是JS中使用最多的一个类型.Object的实例不具备多少功能,但对于应用程序中存储和传输数据而言,他们确实是非常理想的选择.

创建Object有两种方式.

  1. //1.使用new方式
  2. var person = new Object();
  3. person.name = "zhang san";
  4. person.age = 29;
  5. //2.使用对象字面量表示法.
  6. var person = {
  7. name : "zhang san", //属性名也可以说使用字符串,等价与"name"
  8. age : 29
  9. };
  10. //留空花括号也可以
  11. var person = {};
  12. person.name = "张三";
  13. person.age = 29

推荐使用对象字面量语法,语法要求代码少,并且给人以封装数据的感觉.对象字面量也是函数传递大量可选参数的首选方式.如:

  1. //字面量可选参数
  2. function display(args){
  3. var output = "";
  4. if (typeof args.name == "string") {
  5. output += "Name is " + args.name + ";\n";
  6. }
  7. if (typeof args.age == "number") {
  8. output += "Age is "+ args.age + "; \n"
  9. }
  10. console.log(output);
  11. };
  12. display({
  13. name : "zhang san",
  14. age : 29
  15. });
  16. display({
  17. name : "li si"
  18. });

这种传递方式适合需要向函数传递大量可选蚕食的情形.一般来讲,明明参数虽然容易处理,但有多个参数下就会不够灵活.最好的处理方式是必须值使用命名参数,可选参数使用对象字面量来封装多个参数.

调用对象属性时一般使用点.表示法,Js中也可以使用方括号来访问对象的属性.

  1. console.log(person.name ); //zhang san
  2. console.log(person["name"])//zhang san
  3. var porpName = "name"; //使用一个变量
  4. console.log(person[porpName])//zhang san

从功能上看这两种语法没有区别,但方括号的优点是可以使用变量来访问属性及属性名是关键字或保留字或者导致语法错误的字符,如属性名是first name中包含空格.除非必要,一般还是使用.表示法.

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注