1 //-----------------prototype属性的使用----------------------------------- 2 //javaScript为每一个类型(type)提供了一个prototype属性, 3 //将这个属性指向一个对象,这个对象就成为了这个类型的原型; 4 //这就意味着这个类型所创建的所有对象都有这个原型的特性。 5 function ClassA(){} 6 7 function ClassB(){} 8 9 ClassB.prototype = new ClassA(); //ClassB以ClassA的对象为原型 10 11 function ClassC(){} 12 13 ClassC.prototype = new ClassB(); 14 15 var obj = new ClassC(); 16 17 document.write(obj instanceof ClassC); //true 18 document.write(obj instanceof ClassB); //true 19 document.write(obj instanceof ClassA); //true 20 document.write(obj instanceof Object); //true
1 //----------toLocaleString()--方法的使用--------------------------- 2 var now = new Date(); 3 document.write(now.toString()+"<br />"); 4 document.write(now.toLocaleString()); //toLocaleString()返回对象本地化的字符串表示 5 6 7 结果: 8 Thu Jan 01 2015 21:08:41 GMT+0800 9 2015/1/1 下午9:08:41
1 //---------hasOwnProperty()----方法的使用------------------------ 2 function dwn(s){ 3 document.write(s+"<br />"); 4 } 5 6 function ClassA(){ 7 this.a = 1; 8 } 9 10 function ClassB(){ 11 this.b = 5; 12 } 13 14 ClassB.prototype = new ClassA(); //管理对象继承的机制,可以返回对象类型原型的引用 15 var objB = new ClassB(); 16 17 dwn(objB); 18 dwn("a" in objB); 19 dwn("b" in objB); 20 dwn("a是对象B的原型继承来的属性吗? "+objB.hasOwnProperty("a")); 21 dwn("b是对象B的原型继承来的属性吗? "+objB.hasOwnProperty("b")); 22 23 24 结果: 25 [object Object] 26 true 27 true 28 a是对象B的原型继承来的属性吗? false 29 b是对象B的原型继承来的属性吗? true