Object.prototype
JavaScript はプロトタイプの継承に基づいており、すべてのオブジェクトにはプロトタイプ属性があります。 Object.prototype はすべてのオブジェクトのルートであり、変更できません。
Object.prototype=null; alert(Object .prototype);//[object Object]
Object と Object.prototype
Object は Object.prototype を継承し、Object.prototype に属性を追加します。オブジェクトに反映されます。例:
Object.prototype.nameStr= "オブジェクト プロトタイプ" ;
Object.prototype.getName=function(){return this.nameStr};
alert(Object.getName());//オブジェクト プロトタイプ
関数.prototype と Object .prototype
Object.prototype はすべてのもののルートであるため、Function.prototype も Object.prototype のすべてのプロパティを継承します。例:
Object.prototype.nameStr= "オブジェクト プロトタイプ" ;
Object.prototype.getName=function(){return this.nameStr};
alert(Function.prototype.getName());//オブジェクト プロトタイプ
Object/Function/String/Number/Boolean/Array and Date
Object/Function/String/Number/Boolean/Array and Date はすべて関数であり、関数は Function.prototype を継承するため、Function.prototype を変更します。オブジェクト/関数/文字列/数値/ブール値/配列および日付にも影響します。例:
Function.prototype.initType= '関数の種類' ;
Function.prototype.getType=function(){return this.initType};//alert(Object.getType());//関数の種類
//alert(Date) .getType() );//関数の型
//alert(Number.getType());//関数の型
//alert(String.getType());//関数の型
/ /alert(Boolean .getType());//関数型
alert(Array.getType());//関数型
同様に、Function.prototype も Object の影響を受けます。 .prototype は次のレベルに渡されました。例:
Object.prototype.nameStr= "オブジェクト プロトタイプ" ;
Object.prototype.getName=function(){return this.nameStr};
alert(Function.prototype.getName());//オブジェクト プロトタイプ
alray.getName ()); //オブジェクト プロトタイプ
コードをコピー
コードは次のとおりです: alert( Boolean.prototype.getName());//オブジェクト プロトタイプ Array/Array.prototype および Function.prototype/Object.prototype
配列はFunction.prototype の影響を受ける関数オブジェクト Array.prototype の影響は関数オブジェクトではなく、Function.prototype の影響を受けません。ただし、すべてのオブジェクトが Object.prototype の影響を受けるため、Array.prototype も Object の影響を受けます。 。プロトタイプ。例:
コードをコピー
コードは次のとおりです: Object.prototype.nameStr= "オブジェクト プロトタイプ" ; Object.prototype.getName=function(){return this.nameStr};
//alert(Function.prototype.getName());//オブジェクト プロトタイプ
//アラート(Boolean.prototype .getName());//オブジェクト プロトタイプ
Function.prototype.initFun=function(){
return 'Function.prototype.initFun';
}
alert(Array. initFun()) ;//Function.prototype.initFun
var arr=['a','b'];
alert(arr.getName());//オブジェクト プロトタイプ
alert(arr) .initFun() );//エラー: arr.initFun は関数ではありません
alert(arr.initFun);// 未定義