чтение необязательных атрибутов из необязательных настроек в JavaScript - PullRequest
1 голос
/ 19 июня 2010

Какой наиболее эффективный способ чтения необязательных атрибутов в необязательном аргументе настройки. Я использую что-то вроде:

f = func(var1, optionalsettings) {
    var2 = (optionalsettings === undefined ? 0 
         : (optionalsettings['var2'] == null ? 0 : optionalsettings['var2']));
};

Но я чувствую, что это можно сделать более эффективно, либо в javascript, либо в jquery.

Ответы [ 2 ]

3 голосов
/ 19 июня 2010

Вы можете сделать:

var var2 = (optionalsettings && optionalsettings['var2']) || 0;

Сначала вы проверите: optionalsettings существует.Если это так, вы пытаетесь вернуть optionalsettings['var2'].Если это не поможет, вы вернетесь к значению по умолчанию.

0 голосов
/ 26 февраля 2011

также возможно расширение jquery:

function myTest(arg1, arg2, optionalsettings) {
   var settings = $.extend( {
     opt1 : val1
     , opt2 : val2}, optionalsettings || {})
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...