2012-04-12 19 views
5

Tôi không chắc cách viết này trong CS. có thể some1 có thể giúp:CoffeeScript, chuyển nhiều thông số bao gồm cả chức năng ẩn danh

FB.getLoginStatus(function (response) {} , {scope : scope}) 

cảm ơn.

+0

ive đã cố gắng không có gì ... và im tất cả ra khỏi ý tưởng người đàn ông ..: P – d4rklit3

+0

http://stackoverflow.com/questions/6720402/in-coffeescript-how-can -you-make-a-function-call-with-anonymous-functions-as-pa –

+0

@ d4rklit3 nếu tôi là bạn tôi sẽ quay lại coffeescript trong một thời gian và cố gắng để có được một nắm bắt tốt của javascript đầu tiên. –

Trả lời

9

Bạn sẽ viết một số CoffeeScript như vậy ...

FB.getLoginStatus(
    (response) -> 
    doSomething() 
    {scope: scope}) 

Trong đó sẽ chuyển sang hoạt Javascript như vậy ...

FB.getLoginStatus(function(response) { 
    return doSomething(); 
}, { 
    scope: scope 
}); 
+2

Đó là định dạng khủng khiếp. –

+9

Tôi xin lỗi mẫu nhanh chóng của tôi không đáp ứng yêu cầu của bạn cho hoàn hảo. – scottheckel

+1

Bạn được tha thứ. 'FB.getLoginStatus receiveLogin, {scope}' –

4
FB.getLoginStatus(function(response) {}, { 
    scope: scope 
}); 

trong JavaScript là:

FB.getLoginStatus(
    (response) -> 
    { scope } 
) 

bằng CoffeeScript.

Để trả lời câu hỏi của bạn về nhiều tham số hơn nữa có một cái nhìn tại các ví dụ:

$('.main li').hover(
    -> $(@).find('span').show() 
    -> $(@).find('span').hide() 
) 

Trong CoffeeScript tương đương với:

$('.main li').hover(function() { 
    return $(this).find('span').show(); 
}, function() { 
    return $(this).find('span').hide(); 
}); 

trong JavaScript.

Một ví dụ đơn giản thậm chí liên quan đến xử lý nhiều thông số (không có chức năng ẩn danh) sẽ là:

hello = (firstName, lastName) -> 
    console.log "Hello #{firstName} #{lastName}" 

hello "Coffee", "Script" 

trong CoffeeScript biên dịch để:

var hello; 

hello = function(firstName, lastName) { 
    return console.log("Hello " + firstName + " " + lastName); 
}; 

hello("Coffee", "Script"); 

trong JavaScript.

0

Một tùy chọn khác:

FB.getLoginStatus(((response) ->),{scope}) 
Các vấn đề liên quan