2010-01-08 2 views
3

Я не совсем уверен, что здесь происходит. У меня есть код, который существует как:Добавление Sizzle js к моему проекту разбивает проект

var mycode = { 
    init:function(){ 
     //my code here 
    } 
} 

//sizzle pasted here... 
(function(){ //sizzle code here })(); 

Где «шипение код здесь» является копией/пастой Шипение в полном объеме. Sizzle содержится в анонимной функции, поэтому я не уверен, что такое вмешательство.

Как только я добавляю Sizzle таким образом, мои js в литеральном объекте «mycode» перестают работать, и я получаю такие ошибки, как «mycode не определен». Это происходит в Chrome на Mac, Firefox 3.5.x и Safari 4 Mac.

ответ

1

код должен быть

var mycode = { 
     init:function(){ 
      //my code here 
     } 
    }; 

    //sizzle pasted here... 
    (function(){ /*sizzle code here*/ })(); 

недостающей точки с запятой после вашего 'mycode' объект приводит как,

var mycode = { init:function() {}}(function(){/*sizzle code here*/ })(); 

который приводит к ошибке;)

+0

Я прокрутил руководство по стилю google js на днях и увидел именно эту проблему, описанную здесь: http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml#Semicolons –

+0

@Dan Manastireanu - это распространенная ошибка. Замечательно, что «Руководство по стилю Google» охватывает его, так что новички JS будут знать о таких проблемах. –

+0

очень полезно спасибо – 2011-01-11 23:23:23

0

Отсутствие закрытия скобки для вашей функции обертки, должно быть:

(function(){ //sizzle code here })(); 
+0

Спасибо. Это была ошибка в моем вопросе, к сожалению, не фактический код. – Geuis

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