JS prototype例原型と継承
3855 ワード
prototype属性は、オブジェクトタイプの原型の参照を返します.
プロトタイプ属性でオブジェクトのクラスの基本機能を提供します.オブジェクトの新しいインスタンスの「継承」は、オブジェクトのプロトタイプの操作を与えます.オブジェクトの新しいインスタンスJavaScriptの各関数にはプロトタイプの属性があります.関数プロトタイプには一般的に共通の属性があります.
直接例:
原型と継承
プロトタイプ属性でオブジェクトのクラスの基本機能を提供します.オブジェクトの新しいインスタンスの「継承」は、オブジェクトのプロトタイプの操作を与えます.オブジェクトの新しいインスタンスJavaScriptの各関数にはプロトタイプの属性があります.関数プロトタイプには一般的に共通の属性があります.
直接例:
<script>
Array.prototype.max = function(){
alert(" !");
};
var arr = new Array(1, 2, 3, 4, 5, 6);
var max = arr.max();
function oo () {
alert("oo");
}
oo.prototype.addMethodsOne = function() {
alert("addMethodsOne!!!");
}
new oo().addMethodsOne();
var a = function() {};
a.prototype.bbb = function() {
alert("var a = function(){} !");
}
new a().bbb();
var b = {}; // !
b.prototype.ccc = function(){ // !
alert("cccc");
}
new b().ccc();// !
/*************************************************/
function test2() {
var bb = "1";
this.cc = "2";
this.d = function() {alert("dddd");};
}
test2.prototype.aaa = function () {
alert(this.bb); //undefined
alert(this.cc); //2
alert(this.d()); // ddd
}
new test2().aaa();
this ,
/*********************************************/
// js
var YPO = {
};
YPO.DOM = {
createElement:function() {
alert("createElement!");
},
getElement:function() {
alert("getElement!");
}
}
YPO.DOM.BUTTON = function() {
alert("creteButton");
}
YPO.DOM.createElement(); // createElement!
new YPO.DOM.createElement();// createElement!
YPO.DOM.BUTTON(); // creteButton
new YPO.DOM.BUTTON();// creteButton
</script>
~~~~~~~~~~~原型と継承
<script>
//JavaScript " " 。
//JavaScript prototype ,
// ,
var a = {
a1:12
}
a.cc = function() {
alert(this.a1);
}
a.cc();//
//a.prototype , prototype , 。
//a.prototype.gg = function() {
// alert("gg");
//}
// ( )
//
// prototype
// ( ) 。
//alert(a1); undefined
//alert(this.a1);12-->
function dd () {
this.pp = 1;
function pa() {
alert("pa");
return " "
}
this.apa = pa;
}
dd.ddf = function() { //
alert(this.pp);
}
dd.prototype = {
ddm:function(){
var pp = "123";
alert(this.pp); //
alert(this.apa()); //
alert(this.aa); //
}
}
var ddd = new dd();
ddd.aa= 23;
// , 。 this.aa
ddd.ddm();
alert("*************************************************");
function oo(){
this.vv = 123;
function pp() {
alert("***pp*************");
}
}
var p = new oo()
alert(new oo().vv); // 123
//alert(new oo().pp()); //
//alert (oo.pp()); //
oo.pp = function() {
alert("pppppp");
}
alert(oo.pp());// pppp
//dd.ddf();
//undefined; dd.ddf() dd()
// ddd.ddm ddf ,
// dd.ddf() dd() ,
// var a = {};a.cc={CXXXXX};
//ddd.ddf();//
// alert(pp);undefined
// alert(this.pp); 1
</script>