2012-11-27 89 views
0

我需要一段JavaScript代碼轉換爲CoffeeScript的,那就是:如何在使用coffeescript的情況下使用JS中的typeof運算符?

jQuery(function($) { 
if (typeof ($.fn.jCarouselLite) != 'undefined') { 
    $("#slider_1").jCarouselLite({ 
    btnNext: "#slider_1 .next", 
    btnPrev: "#slider_1 .prev", 
    visible: 1 
    }); 
} 

if條件造成的問題,這是我在做,在這一點上有什麼:

jQuery -> 
    $ = jQuery 
    if typeof $.fn.jCarouselLite not 'undefined' 
     $("#slider_1").jCarouselLite 
     btnNext: "#slider_1 .next 
     btnPrev: "#slider_1 .prev" 
     visible: 1 

但編譯器抱怨說:PARSE ERROR ON LINE 2:UNEXPECTED'POST_IF'

任何人都可以幫助我嗎?如何正確翻譯如果條件成Coffeescript?

感謝,

+0

你還缺少你的CoffeeScript版本結束的雙引號。 –

+0

謝謝你,我沒有見過。 – jlstr

回答

4

not是一元運算符,所以我覺得你的意思是

if typeof $.fn.jCarouselLite isnt 'undefined' 

...但你可以用?

if $.fn.jCarouselLite? 

...但是,錯誤似乎會引起滑稽的縮進,就像第2行...

+0

我很抱歉地說,但似乎沒有任何工作,即使在http://coffeescript.org/編譯器無法處理:(任何想法? - 謝謝你的回覆! – jlstr

+0

其實,我的壞。看起來它不起作用,因爲我翻譯的文件中有Tabs(\ t),這就是搞砸了。爲什麼它不能在coffeescript網站上工作,我真的無法解釋.. 。 – jlstr

+0

@JoseE,它不適用於coffeescript.org,因爲'if'需要一個body。[示例](http://coffeescript.org/#try:if%20typeof%20%24.fn.jCarouselLite% 20isnt%20%27undefined%27%0A%20%20statement%28%29)。 – epidemian

1

嘗試unless並使用括號:

jQuery ($) -> 
    unless typeof ($.fn.jCarouselLite) is "undefined" 
    $("#slider_1").jCarouselLite 
     btnNext: "#slider_1 .next" 
     btnPrev: "#slider_1 .prev" 
     visible: 1 

BTW,您可以快速檢查事情http://js2coffee.org/

+0

感謝您提到該網站!您的解決方案非常優雅,並且工作得非常好。 – jlstr

+0

謝謝。請問爲什麼其他答案被接受那麼? –

+0

那麼,不幸的是,這是我的錯誤,爲什麼接受的答案不起作用,但它是正確的。經過仔細檢查,我得到了它的工作,他首先回答。如果你是第一個,我會把它授予你......但這次我會不公平。抱歉。 – jlstr

相關問題