Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.05.2011, 01:08
Новичок на форуме
Отправить личное сообщение для Redjik Посмотреть профиль Найти все сообщения от Redjik
 
Регистрация: 24.02.2011
Сообщений: 7

var x = x || {}
Понимаю, что придам себя анафеме этим вопросом, но уже замучался доку ковырять ...

что значит || (при чем тут ИЛИ)

config.name = config.name || "bob"

еще один пример ... взято с англ книжки по ExtJS

Первый пример по namespace, которые я всегда делал совсем по-другому,
второй определяет внутри класса... я конечно догадываюсь о знаении ||, но что точно означает не пойму...
Ответить с цитированием
  #2 (permalink)  
Старый 23.05.2011, 01:10
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

http://javascript.ru/boolean-operators
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 23.05.2011, 01:41
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Если переменная или свойство объекта равны empty string, null, undefined, 0, то они могут трактоваться как false, а в данном контексте это выражение означает, если config.name определён (не false), то он остаётся без изменений, а если нет, то берётся дефолтное значение "bob".
Кстати, если boolean(false) - это всё равно true, т.к. переменная определена, поэтому лучше использовать строгое сравнение (=== и !==).
Ответить с цитированием
  #4 (permalink)  
Старый 23.05.2011, 01:51
Новичок на форуме
Отправить личное сообщение для Redjik Посмотреть профиль Найти все сообщения от Redjik
 
Регистрация: 24.02.2011
Сообщений: 7

спасибо - догадка оправдалась =) на тернарных мозг зациклился... поэтому искал изначально неправильно

Последний раз редактировалось Redjik, 23.05.2011 в 01:53.
Ответить с цитированием
  #5 (permalink)  
Старый 23.05.2011, 03:47
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Лучше так:

config.name || (config.name = "bob");
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При попытке передать в функцию переменную крошится скрипт feramount Общие вопросы Javascript 2 10.05.2011 14:37
Простой вопрос по JavaScript. Работа с датой. Помогите Hanuman Общие вопросы Javascript 3 30.07.2010 20:30
Библиотека javascript эффектов HelpeR Ваши сайты и скрипты 39 15.05.2010 21:30
CComponent - кроссбраузерные компоненты tenshi Ваши сайты и скрипты 5 20.04.2010 23:22
Свойства посредством полиморфных функций tenshi Ваши сайты и скрипты 0 18.03.2010 17:12