코드는 다음과 같습니다.
//alert(1.constructor); //숫자 상수 오류 숫자 상수에 생성자가 없습니다.
var num = 1
alert(num.constructor == Number); 🎜 >alert("jeff wong".constructor == String); //true
var str = "jeff wong"
alert(str.constructor == String) //true
var obj = null;
alert(obj.constructor); //null에는 생성자 속성이 없습니다
none = undefine; //undefine에는 생성자 속성이 없습니다
실험에 따르면 숫자 상수, null 및 정의되지 않음에는 생성자 속성이 없는 것으로 나타났습니다.
이 시점에서 루주처럼 행복해하며 이제 끝났다고 생각하시겠습니까? 다음 코드도 영감과 발굴이 될 수 있습니다.
function Animal() { }
function Cat() {
}
Cat.prototype = new Animal()
Cat.prototype.CatchMouse = function() {
/ /어떤 일을 하세요
}
var obj = new Cat()
alert(obj.constructor == Cat); ?
alert(obj.constructor == Animal); //진정한 이해
프로토타입 체인 상속의 경우 생성자는 사용하기가 그리 쉽지 않은 것으로 나타났습니다. 무엇을 해야 할까요?
3. 직관적인 인스턴스 오브
야, 인스턴스 오브가 웅장하게 등장한다. 네이밍으로 보면 특정 객체의 인스턴스를 얻는 것 같은데, 이게 맞는 표현인지는 모르겠습니다. 아무튼 위의 코드를 개선해서 먼저 테스트해 보겠습니다.
function Animal() { }
function Cat() {
}
Cat.prototype = new Animal()
Cat.prototype.CatchMouse = function() {
//어떤 일을 하세요
}
var garfield = new Cat();
alert(garfield instanceof Cat) //사실입니다
alert(garfield instanceof Animal); true 이해할 수 있습니다
자바스크립트의 데이터 유형 감지에 관해 Louzhu가 여기에 요약했습니다. 마음이 있는 사람이 더 추가할 수 있기를 바랍니다.