2015-01-16 5 views
0

Ниже приведен пример типичного jquery, с которым я работаю. Как вы увидите, переменные объявляются в глобальной области (извините за терминологию), однако я задавался вопросом, можно ли также объявлять объекты jquery так же, как cn, объявляет имена классов.Объявление глобальных объектов jquery

For instance: var jq = { $html : $('html')}; 

Мне еще не удалось заставить какой-либо синтаксис работать.

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

var Nav = function() { 

    var pub = {}, 
    cn = { 
     open: "mobile-nav-open" 
    }; 

    function toggleNav(e) { 

     e.preventDefault(); 

     $html = $('html'); 

     if ($html.hasClass(cn.open)) { 
      $html.removeClass(cn.open); 
     } else { 
      $html.addClass(cn.open); 
     } 
    }; 

    function setupBindings() { 
     $(document).on("click", "#navicon", toggleNav); 
    }; 

    pub.init = function() { 
     setupBindings(); 
    }; 

    return pub; 
}(); 
+0

как вы заменили '=' на ':', ваш вопрос больше не имеет смысла – Hacketo

ответ

2

Объекты jQuery - это всего лишь класс объекта JavaScript. В них нет ничего особенного.

Синтаксис такой же, как и существующий код.

Используйте :, где у вас есть = внутри вашего объекта буквально.

0

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

var hellow = 'hh' 
var x = { 
    hellow: 'abc' 
} 

console.log(hellow) 
console.log(x.hellow)