type: of 와 instanceof 용법 수기
1. typeof
type: of 는 하나의 원 연산 입 니 다. 하나의 연산 수 앞 에 놓 기 전에 연산 수 는 임의의 형식 일 수 있 습 니 다. 반환 값 은 문자열 입 니 다. 이 문자열 은 연산 자의 유형 type: of 는 일반적으로 다음 과 같은 몇 가지 결과 만 되 돌려 줍 니 다. "number", "string", "boolean", "object", "function", "undefined".
var str = "hhhh";
var num = 12334;
var obj = {};
var fn = function(){
console.log(11111)
}
var arr = [];
var boolea = false;
var a = null;
var b;
// string number object function object boolean object undefined
console.log(typeof str, typeof(num), typeof obj, typeof fn, typeof arr, typeof boolea, typeof a, typeof b)
즉, 우 리 는 type of 를 통 해 변수 가 존재 하 는 지 여 부 를 판단 할 수 있다.예컨대
if(typeof a!="undefined"){alert("ok")}
if (a) 를 사용 하지 마 십시오. a 가 존재 하지 않 으 면 잘못 보고 할 수 있 기 때 문 입 니 다.Array, Null 등 특수 대상 에 대해 type of of 를 사용 하여 일률적으로 object 를 되 돌려 주 는 것 이 type of 의 한계 입 니 다.
js 에 서 는 여러 이름 이 같은 input 와 같은 배열 을 자주 사용 합 니 다. 동적 으로 생 성 되면 제출 할 때 배열 인지 아 닌 지 를 판단 해 야 합 니 다.
if (document. my list. length! = "undefined") {} / / 이 용법 이 잘못 되 었 습 니 다.
정확 한 것 은 if (typeof (document. my list. length)! = "undefined") {}
if (! isNaN (document. mylist. length) {}
자 바스 크 립 트 에서 변 수 를 판단 하 는 유형 은 type: of 연산 자 를 자주 사용 합 니 다. 이 연산 자 를 사용 할 때 인용 형식 저장 치 를 사용 하면 문제 가 발생 합 니 다. 어떤 유형의 대상 을 인용 하 든 'object' 로 되 돌아 갑 니 다. 이때 instanceof 를 사용 해 야 합 니 다.
2. instanceof 는 특정한 대상 이 다른 대상 의 인 스 턴 스 인지 아 닌 지 를 검사 합 니 다. 즉, 하나의 대상 이 원형 체인 에 구조 함수 의 prototype 속성 이 존재 하 는 지 테스트 합 니 다.
문법: object (대상 을 검사 하려 면) instanceof constructor (특정한 구조 함수) 예 를 들 어 var a = new Array ();
alert(a instanceof Array); // true,
동시에 alert (a instanceof Object) / / true 로 돌아 갑 니 다.
Array 가 object 의 하위 클래스 이기 때 문 입 니 다.
또한: function test () {};
var a=new test();
alert (a instanceof test) 는 true 로 돌아 갑 니 다.
또한, 더 무 거 운 것 은 인 스 턴 스 of 가 상속 관계 에서 하나의 인 스 턴 스 가 부모 유형 에 속 하 는 지 여 부 를 판단 할 수 있다 는 것 이다.
예 를 들 면:
function foo () {} foo. prototype = new Aoo (); / JavaScript 원형 계승 var foo = new Foo (); console. log (foo instanceof Foo) / / true console. log (foo instanceof Aoo) / / true
위의 코드 에 서 는 상속 관계 의 부 류 를 판단 하 였 으 며, 다 층 상속 관계 에서 인 스 턴 스 of 연산 자 는 똑 같이 적용 되 었 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.