Оператор instanceof
Оператор instanceof требует, чтобы левым операндом был объект, а правым – имя класса объектов. Результатом оператора будет true, если объект, указанный слева, представляет собой экземпляр класса, указанного справа; в противном случае результатом будет false.
Следовательно, правый операнд instanceof должен быть именем функции-конструктора. Обратите внимание: все объекты представляют собой экземпляры класса Object. Например:
var d = new Date(); // Создаем новый объект с помощью конструктора Date()
d instanceof Date; // Равно true; объект d был создан с помощью функции Date()
d instanceof Object; // Равно true; все объекты представляют собой экземпляры
// класса Object
d instanceof Number; // Равно false; d не является объектом Number
var a = [1, 2, 3]; // Создаем массив с помощью литерала массива
a instanceof Array; // Равно true; a – это массив
a instanceof Object; // Равно true; все массивы представляют собой объекты
a instanceof RegExp; // Равно false; массивы не являются регулярными выражениями
Если левый операнд instanceof не является объектом или если правый операнд – это объект, не имеющий функции-конструктора, instanceof возвращает false.
Но если правый операнд вообще не является объектом, возвращается ошибка времени выполнения.
Дата добавления: 2015-08-01; просмотров: 550;