2015-07-15 4 views
-2
if ("function" == typeof type) {   
     msg = type;   
     type = ""; 
    } 

Я совершенно новичок в Javascript. Я читал книгу третьей стороны js [http://thirdpartyjs.com/]. Я рассматриваю несколько примеров кода, чтобы понять логику. Я попал в эту часть сценария. Мой вопрос в том, какова функция этого оператора if? Почему функция в "". Означает ли это, что функция является объектом ?.Что означает «function» == typeof variable?

Заранее спасибо

+0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof – Andreas

+0

Он проверяет, равен ли тип переменной 'type'' 'function '', это просто написанное как * yoda condition *;) Написание его как 'if (typeof type ==" function ")', вероятно, будет легче читать. – pawel

+2

рассмотреть возможность изменения названия вопроса на нечто более информативное. –

ответ

2

что функция этого, если заявление?

Он проверяет переменную type, является ли ссылка на функцию или нет

Почему функция ""

Поскольку typeof всегда возвращает строку

ли это означает, что функция является объектом?

Функции действительно являются объектами, но я не уверен, что вы подразумеваете под этим вопросом в точности.

1

Интересно, возможно ли, что его интересует какой-то неинтуитивный стиль сравнения «наоборот».

if ("function" == typeof type) { 

Это то же самое, как:

if (typeof type == "function") { 

И.Э. мы проверяем, является ли тип переменной с именем «тип» «функцией».

Как уже упоминалось, typeof вернет тип в виде строки, следовательно, кавычки.

+0

Это очень полезно. Спасибо – StackExchange

+0

@HarishPentapalli, могу ли я спросить, почему вы решили удалить «ответный» знак из этого сообщения? Есть ли что-то, что вам кажется необходимым для дальнейшего объяснения? – visibleman

Смежные вопросы