타입
유형이 더 자주 사용될 때 페이지가 전역 변수를 정의하는 경우 글로벌 변수가 있는지 여부를 결정하는 것입니다. 다음 판단을 내린 경우 :
// harooms는 (harooms! = undefined) {} // js가 "uncught referenceError : harooms가 정의되지 않았다"는 오류를보고합니다.해결책은 다음과 같이 쓰는 것입니다.
if (aftionof haorooms! = undefined) {}Typeof를 사용한 후에는 오류가 없습니다! 이것은 응용 프로그램 유형 중 하나입니다!
또한 Typeof는 데이터 유형을 판단 할 수도 있습니다! 다음과 같이 :
var harooms = "String"; Console.log (Harooms); // StringVar Harooms = 1; Console.log (Harooms); // numbervar harooms = false; Console.log (Harooms); // booleanvar harooms; Console.log (Harooms 유형); // undfinedvar harooms = null; Console.log (Harooms 유형); // ObjectVar harooms = 문서; Console.log (Harooms 유형); // ObjectVar Harooms = []; Console.log (Harooms); // ObjectVar harooms = function () {}; Console.log (Harooms 유형) // 기능 데이터 유형 판단 외에도 기능 유형을 판단 할 수도 있습니다.분명히, 유형의 경우, 처음 네 가지 유형, null, 객체 및 배열을 제외하고 모든 객체 유형을 반환합니다.
인스턴스
배열인지 여부를 결정하는 데 사용할 수 있습니다.
var harooms = []; console.log (harooms instanceof array) // true를 반환합니다
건설자
생성자는 물체의 해당 생성자를 반환하는 생성자입니다.
다양한 데이터 유형을 판단하는 방법 :
console.log ([]. constructor == array); console.log ({}. 생성자 == 객체); console.log ( "string".constructor == string); console.log ((123) .constructor == number); console.log (true.constructor == boolean); this.job = job; this.born = born; } var haorooms = 새로운 직원 ( "Bill Gates", "Engineer", 1985); Console.log (Harooms.constructor); // 출력 기능 직원 (이름, Jobtitle, Born) {this.name = 이름; this.jobtitle = job; this.born = born;}건설자를 출력하여 생성자가 물체에 해당하는 생성자를 반환한다는 것을 알 수 있습니다.
object.prototype.tostring
우리는 앞에서 생성자 속성을 사용하여 객체 유형을 결정할 수 있다고 언급했습니다. object.protty.toString 메소드에 대해 이야기 해 봅시다.
Object.Prototype.tostring.apply ({}) // "[Object]"Object] "Object.Prototype.toString.Apply ([]) //"[Object Array] "Object.Prototype.toString.Apply (NAN) //"[Object.] "Object.Prototype.TOSTRING.Apply () [Object}) //" "" "" "" "" "이 방법을 사용하면 변수의 기본 패턴을 올바르게 판단 할 수 있지만 사용자 정의 유형 인 경우 결과가 여전히 [개체 객체]이기 때문에 실제 유형을 알 수 없습니다.
다른
jQuery는 또한 유형 판단 방법을 가지고 있으며 다음은 예입니다.
$ .iswindow (창) // 참
방법
core.js#479iswindow : function (obj) {return obj! = null && obj == obj.window;}따라서 다음과 같은 객체를 열십시오.
var fakewindow; fakewindow = {}; 가짜 윈도우 .window = 가짜 윈도; $. iswindow (가짜 윈도) // true당신은 그에게 거짓말을했습니다.
요약
JavaScript에서는 유형을 올바르게 판단해야합니다. 당신이 그들을 신중하게 공부할 때, 그것은 정말로 번거 롭습니다. 다른 상황에 따라 판단을 설계하는 것이 매우 중요합니다. 또한 가장 간단한 방식으로 올바른 유형을 판단하는 방법에 대해서도 생각해야합니다. 물론,이 기사에는 여전히 소개되지 않은 많은 것들이 여전히 있습니다. 예를 들어, ISPrototype의 방법. JavaScript는 많은 역사적 부담이있는 언어이지만 끊임없이 향상되고 있습니다. 그것을 사용할 때는 너무 많은 방법의 양면 블레이드에주의를 기울여야합니다. 조심스럽게 사용하십시오.