2010-01-08 85 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