На скриншоте ниже показан выделенный объект JavaScript типа Telerik.Web.UI.Grid
.Получить истинный тип объекта в JavaScript
Вопрос: Что было бы правильным JavaScript код, чтобы получить истинный тип объекта JavaScript $telerik.radControls[6]
? Мне нужно динамически определять истинный тип во время выполнения в JavaScript, а затем делать что-то, основанное на истинном типе.
Я пробовал код ниже, но typeof всегда возвращает object
.
if (typeof $telerik.radControls[6] === "Telerik.Web.UI.RadGrid") {
//do something
} else if(typeof $telerik.radControls[6] === "Telerik.Web.UI.RadSearchBox") {
//do something
} else if (typeof $telerik.radControls[6] === "Telerik.Web.UI.RadTreeView") {
//do something
}
UPDATE 1
Я попытался несколько предложений, упомянутых в комментариях, но я не доступен, когда я использую instanceof
как в экране показано ниже.
UPDATE 2
Я нашел интересный факт при использовании instanceof
определить истинный тип объекта JavaScript. Код ниже не будет работать всегда. Он будет работать только в том случае, если уже существует объект типа Telerik.Web.UI.RadGrid
, т. Е. Был вызван конструктор для типа объекта, который мы проверяем. Я получил следующую ошибку, когда объект Telerik.Web.UI.RadGrid
не был создан.
Uncaught TypeError: Expecting a function in instanceof check, but got undefined
небезопасный код, который будет работать только если тип объекта существует
if (x instance of Telerik.Web.UI.RadGrid) {
//do something
}
Однако, когда я использовал код, как показано ниже, то он не выдаст ошибку, даже если ни один объект Telerik.Web.UI.RaGrid
типа не имеет был создан.
Безопасный код, который будет работать всегда есть не выдаст ошибку
if (typeof Telerik.Web.UI.RadGrid !== "undefined && x instance of Telerik.Web.UI.RadGrid) {
//do something
}
'если ($ telerik.radControls [6] InstanceOf Telerik.Web.UI.Grid) {...' при условии, что ' Telerik.Web.UI.Grid' - это функция-конструктор, которая содержит прототип объекта. –
Вам нужно будет проверить 'instanceOf' – Rajesh
Ok. Дай мне попробовать. – Sunil