var o =newObject();
o.name ="张三";
o.age =14;
o.eat = function (){alert("这是吃的方法");}// 调用方法
o.eat();
使用对象字面量的方式创建对象
语法:{属性名:属性值,属性名:属性值 …}
对象字面量的属性名可以加引号也可以不加,建议不加,如果是一些特殊的名字,则必须加。
属性名和属性值是一组一组的名值对结果,类似JAVA中Map
属性名和属性值之间使用:号连接,多个名值对之间用英文逗号分隔。
示例:
var person1 ={
name:"张三",
age:13,// 定义函数
eat:function(){
var str ="姓名:"+person1.name+"\n年龄:"+ person1.age;alert(str);}}// 通过对象调用函数
person1.eat();
内置对象
RegExp对象 RegExp是正则表达式的缩写
Boolean(逻辑)对象 true或者false toString( )方法
对象【工厂方式】
使用工厂方法创建对象 通过该方法可以大批量的创建对象 示例:
// 使用工厂方式创建对象
function factory(name , age){// 创建对象
var o =newObject();// 添加属性和方法
o.name = name;
o.age = age;
o.eat = function (){alert(this.name);};// 返回对象return o;}
var o1 =factory("张三",33);
var o2 =factory("李四",23);
// 构造函数。构造函数名始终都应该以一个大写字母开头
function Animal(name , age){this.name = name;this.age = age;this.call = function (){alert(this.name +"叫");}}// 同过构造函数创建对象
var dog =newAnimal("旺财",3);
dog.call();
function Persons(){}
Persons.prototype.name ="魅语";
Persons.prototype.age =20;
Persons.prototype.eac = function (name){alert(name +"在吃饭。。。。。。")};
var p1 =newPersons();
p1.eac("紫霞");
原型链
一个原型对象是另一个原型对象的实例。
相关的原型对象层层递进,就构成了实例与原型的链条,就是原型链。
示例:
function Humans(){this.foot=2;}
Humans.prototype.getFoot=function(){returnthis.foot;}
function Man(){this.head=1;}
Man.prototype=newHumans();//继承了Humans
Man.prototype.getHead=function(){returnthis.head;}
var man1=newMan();alert(man1.getFoot());//2alert(man1 instanceofObject);//truealert(man1 instanceofHumans);//truealert(man1 instanceofMan);//true