1.创建对象
(1)自定义对象
语法:var 对象名称=new Object();
(2)内置对象
String(字符串)对象.
Date(对象)对象
Array(数组)对象
Bollean(逻辑)对象
Math (算数)对象
RegExp对象
//例function an(name,pwd) {
this.name=name;
this.pwd=pwd;
this.show=function () {
alert("用户名:"+this.name+" 密码:"+this.pwd);
}
}
var an=new an("name","123");
an.show();
2.构造函数
(1)步骤: 创建一个新对象 将构造函数的作用域赋给新对象(this就指向了这个新对象) 执行构造函数中的代码 返回新对象
(2)注意点: 1.构造函数,首字母要大写 2.代码要注意顺序
Man.prototype=new Humans();
//继承
方法
Man.prototype.getHead=function(){
return this.head; }
3.继承属性
a.call(b属性,参数);
b对象替换为a4.原型对象
(1)原型:构造函数在创建出来的时候,系统会默认的给构造函数创建并关联一个空的对象,这个对象就是原型
(2)原型的访问形式:
1.构造函数.prototype
2.对象.__proto__ 非标准属性,有兼容性问题
(3)原型的使用方式
1.利用动态特性为原型对象添加属性和方法
2.直接替换原型对象5.原型链每一个对象都有原型,每一个原型都是对象,每一个原型也都有原型,就形成了链式结构,称为原型链
(1)借用构造函数就是子类型构造函数的内部通过apply()或call()方法调用类型的构造函数
(2)组合继承的思路就是使用原型链实现对原型属性和方法的继承
示例:
1 <script type="text/javascript"> 2 function Animal(name, age, color) { 3 this.name = name; 4 this.age = age; 5 this.color = color; 6 } 7 8 function Poultry(name, age, color, leg) { 9 Animal.call(this, name, age, color); 10 this.leg = leg; 11 } 12 13 Poultry.prototype.info = function() { 14 var p = document.createElement("p"); 15 var str = "我是一个" + this.color + "的" + this.name + ",我已经" + this.age 16 + "岁了,我有" + this.leg + "条腿<br/>"; 17 p.innerHTML = str; 18 return p; 19 } 20 21 var body = document.getElementsByTagName("body")[0]; 22 23 var pet1 = new Poultry("小狗狗", 1, "灰色", 4); 24 body.appendChild(pet1.info()); 25 var pet2 = new Poultry("茶杯猫", 2, "白色", 4); 26 body.appendChild(pet2.info()); 27 var pet3 = new Poultry("小母鸡", 1, "红色", 2); 28 body.appendChild(pet3.info()); 29 </script>