2010-01-08 67 views
3

我不完全確定這裏發生了什麼。我有我的代碼存在,如:向我的項目添加Sizzle js會破壞項目

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

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

其中,「這裏的噝噝聲代碼」是其整體的滋滋聲的複製/粘貼。 Sizzle包含在一個匿名函數中,所以我不確定干擾是什麼。

只要我以這種方式添加Sizzle,我的「mycode」對象文字中的js停止工作,並且出現「mycode未定義」之類的錯誤。這發生在Mac上的Chrome,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 – 2010-11-04 17:55:46

+0

@Dan Manastireanu - 這是一個常見的錯誤。 「Google風格指南」涵蓋了它,這讓JS新手會意識到這些問題。 – 2010-11-05 20:38:01

+0

非常有幫助謝謝 – 2011-01-11 23:23:23

0

缺少你的函數包裝收盤括號,應該是:

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

謝謝。這是我的問題中的錯誤,不幸的是不是實際的代碼。 – Geuis 2010-01-08 21:22:24