您的位置:首页 > 其它

面向对象与原型04

2016-06-12 11:32 197 查看
/*为了让属性和方法更好的体验封装的效果,并且减少不必要的输入,原型的创建可以使用字面量的方式
function Box(){};
Box.prototype = {
constructor:Box,//强制指向实例 而不是指向object
name:'zhao',
age:100,
run:function(){
return this.name+this.age+'运行中...';

}
}; //使用字面量方式创建原型对象 这里
Box.prototype = {{}就是对象 又创建了一个对象

Box.prototype = {
age:200
}; //重写了原型对象属性 这里不会保留之前原型的任何信息
//吧原来的原型对象和构造函数对象实例执之前的关系切断了 

var box = new Box();
alert(box.name);
//使用构造函数创建原型对象和使用字面量创建对象在使用上基本相同,但是还有一些区别,
//字面量创建的方式使用constructor属性不会指向实例 ,而会指向Object,构造函数创建的就可以

*/

var box = [3,4,62,7,32,8];
alert(box.sort());
alert(Array.prototype.sort); //查看sort是否是Array 原型对象里面的方法
alert(String.prototype.substring); 

//我们就可以自己扩展方法
alert(String.prototype.addstring); //系统没有这个方法
String.prototype.addstring = function(){
return this+'被添加了';

}
var cc = 'zhao';
alert(cc.addstring());  //内置引用类型的功能扩展 但是我们不推荐这种方法 会导致命名冲突 所以我们不推荐
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  原型 面向对象