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 및 Date
Object/Function/String/Number/Boolean/Array 및 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());//객체 프로토타입
alert(Array.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());//객체 프로토타입
//alert (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);//정의되지 않음