Forum Webscript.Ru
Программирование => JavaScript & JScript => Тема начата: Viktor (Megai от 24 Апреля 2004, 04:50:59
-
Как проверить, является ли переменная массивом, есть ли функция как в PHP: bool is_array( mixed var)
-
И все молчат!
Хоть бы идейку подкинули, хотя пока без этого обошелся :)
-
Есть такой оператор - "typeof". Возвращает строку - тип операнда.
Например:
var x=4;
y=typeof x;
y будет равно "number".
А еще есть \'instanceof\'. Сообщает, принадлежит ли некоторый объект объектной модели браузера. Например:
A=new Array();
y=A instanceof Array;
y будет равно true.
-
Спасибо, спасли!
-
вообще говоря, постановка задачи свидетельствует о непонимании принципов ООП.
В ооп практически никогда не требуется определять тип объекта, объект должен сам знать свой тип.
Пример:
A=[1,2,3]
S="xyz"
// неправильно
function foo(x){
if(x instanceof Array)
alert("array "+x.join(""));
else
alert("string "+x);
}
foo(A)
foo(S)
// правильно
Array.prototype.foo=function (){
alert("array "+this.join(""));
}
String.prototype.foo=function (){
alert("string "+this);
}
A.foo()
S.foo()