为了让属性和方法更好的体现封装的效果,并且减少不必要的输入,原型的创建可以使用字面量的方式
function Box(){} Box.prototype = { //其实是创建一个新对象 constructor:Box name : 'caibaojian', age : 22, run : function(){ return this.name +" is " + this.age; } } var box1 = new Box(); alert(box1.run()); //caibaojian is 22
使用构造函数创建原型对象和字面量创建对象在使用上基本一样,但还是有一些区别的,字面量创建的方式使用constructor属性不会指向实例,而是指向Object,构造函数的方式则想法。
//数组排序 var box = [5,1,6,9,3,5,8,1]; alert(box.sort()); //查看sort是否是Array原型对象里的方法 alert(Array.prototype.sort); alert(String.prototype.substring); //内置引用类型的功能扩展 String.prototype.addstring = function () { return this + ',被添加了!'; }; var box = 'Lee'; alert(box.addstring());