2013-08-01 4 views
1

Как указано в названии моего вопроса, Недавно я наткнулся на этой декларации переменной:Очень простой Javascript. Что это такое: "options = options || {};"?

опции = опции || {};

Итак, насколько я понимаю - я новичок на самом низком уровне - у нас есть глобальные параметры var, которые назначаются как ... теперь я потерял ... варианты или пустые?

Я знаю, это, вероятно, простой вопрос, но я, кажется, не нашел подходящего ответа. Вся помощь очень ценится.

С уважением, Julius

+0

Я могу получить информацию о документации, где вы найдете это условие (если) или код, пожалуйста ... –

+0

Источник находится в строке 26 этого документа: http://demo.tutorialzine.com/2011/03/ custom-facebook-wall-jquery-graph/js/script.js –

+0

Этот оператор (OR) представляет собой пустой объект с самой переменной. Я думаю, что это гарантирует, что 'option' не останется неопределенным после текущего оператора (если он был неопределенным) или сохраните значение объекта. – Puneet

ответ

2

It в основном означает «если в данный момент нет объектов параметров, а затем создайте пустой объект, чтобы заполнить параметры переменной».

Итак:

if(!options){ 

    options = {} 

}else{ 

    options = options 

} 

В ответ на ваш комментарий:

{} является пустой объект. Это сродни new Object().

+3

такое ненужное перемещение продолжается здесь ... нам не нужно разделить волосы по семантике 'defined/undefined' - это довольно прямое объяснение. – shennan

+1

Спасибо Shennan, очень простой и неоспоримо приличное объяснения –

0

Это simplyfied версия:

if (!options) { 
    options = {}; 
} 

Другой способ написания этого:

options || (options={}); 

Это просто создать параметры объекта, если это не Allready установить на что угодно.

0

Это способ инициализации объекта, если он еще не был инициализирован.

Если опции существует, то оно имеет значение:

options = options 

Если опции имеет нулевое значение, то она рассматривает его как 'ложь' и оценивает второй параметр, поэтому становится:

options = {}; 
+2

Если кто-то, кто ниспровергал это, хотел бы объяснить, почему, это было бы здорово ... –

0

В основном говорится: «Если options существует, а затем использовать его, в противном случае установите options на пустой объект».

0

Если объект options существует, определите его как options. Если это не так, создайте пустой объект.

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