JavaScript对象的创建与使用
前言
您之前已经学到,JavaScript 变量是数据值的容器。
这段代码把一个单一值(porsche)赋给名为 car 的变量:
var car = \"porsche\";
对象也是变量。但是对象包含很多值。
这段代码把多个值(porsche, 911, white)赋给名为 car 的变量:
var car = {type:\"porsche\", model:\"911\", color:\"white\"};
对象还可以有方法
方法是在对象上执行的动作。
方法以函数定义被存储在属性中。
person对象
var person = {firstName: \"Bill\",lastName : \"Gates\",id : 678,fullName : function() {return this.firstName + \" \" + this.lastName;}};
对象定义的方式
初始的方式创建
var obj=new Object();obj.name=\"zhangsan\";obj.age=12;obj.say=function(){//this代表当前对象alert(this.name+this.age);}
工程模式创建对象
function createObject(name,age){var obj=new Object();obj.name=name;obj.age=age;obj.say=function(){//this代表当前对象alert(this.name+this.age);}return obj;}//通过工程模式创建对象var zhangsan=createObject(\"zhangsan\",12);var lisi=createObject(\"lisii\",11);
自定义构造函数创建对象
function Student(name,age){this.name=name;this.age=age;this.say=function(){alert(this.name,\":\",this.age);}}//创建一个对象var zhaoliu=new Student(\"zhaoliu\",20);var wangwu=new Student(\"wangwu\",12);//判断一个类的构造函数是否是Student//constructor是Object的属性,每个方法都有,用来获取对象的构造函数的函数名。var a=zhaoliu.constructor == Student;alert(a); //true
快速创建
var student = {name: \"dulao\",age : 13,say : function() {alert(this.name,\":\",this.age);}};
访问对象属性方法
我们以一下student对象为例子
属性 | 属性值 |
---|---|
name | dulao |
age | 13 |
say | function() {alert(this.name,\”:\”,this.age);} |
调用属性
//获得属性 方式1console.log(student.name);console.log(student.age);//获得属性 方式2console.log(student[\"name\"]);console.log(student[\"age\"]);
调用方法
student.say();