标签:
<!-- ———————————————— 面向对象 ———————————————————— -->
var obj=new Object();
var obj1={};
obj.name="小诗";
obj.sex="男";
obj.sayName=function(){return name};
<!-- ———————————————— 类的概念 ———————————————————— -->
//第一种形式 工厂模式
function createPerson(name,sex,age){
var obj2=new Object();
obj2.name=name;
obj2.sex=sex;
obj2.age=age;
obj2.sayName2=function(){
alert(this.name);
}
return obj2;
}
var p1=createPerson("A","男",120);
p1.sayName2();
//第二种形式 构造函数模式 (W3C推荐使用)
function Person(name,age,sex){
this.name=name;
this.age=age;
this.sex=sex;
this.sayName=function(){
return this.name;
}
}
var person1=new Person("B",11,"女");
var person2=new Person("C",11,"女");
var s=person1.sayName();
person1.constructor==Person;//判断一个对象是否属于某个类
person2 instanceof Person;//判断一个对象是否属于某个类(推荐使用)
<!-- ————————————创建对象的方式—————————————————— -->
//当作构造函数使用
var person3=new Person("B",11,"女");
//当作普通函数使用
var person4=Person("D",11,"女");//在全局环境中定义相当于直接定义在window上
alert(name);// 输出 D
//在另一个作用域中使用
var o=new Object();
Person.call(o,"E",12,"男");
alert(o.name);
标签:
原文地址:http://www.cnblogs.com/jalja/p/4404095.html