2014-01-23 65 views
-3

我是JavaScript和jQuery的新手,有人可以向我解釋這行代碼是幹什麼的?如果有人可以寫詳細的解釋...
例如,什麼是函數(上下文) - 是表示屬性/屬性的上下文,如jQ:trummedVal:etc ...或?它有什麼作用?

var servis = false; 

var FormData = function() { 
var topThat = this; 
this.trimValue = function (control) { 
    return typeof control.val() !== 'undefined' ? control.val().trim() : control.val(); 
}, 
this.transportMode= { 
    jQ: $('#transportMode'), 
    trimmedVal: function() { return topThat.trimValue($('#transportMode')); }, 
    name: "Type of transport", 
    mandatory: !servis && true, 
    hookupEvents: function (context) { 
     // populating order data 
     if ($(".newApp").length != 0) { 
      context.jQ.change(function() { 
       if (topThat.ctrId.trimmedVal() !== '') 
        topThat.populateOrderData(); 

       if ($(this).val().trim() === "TRUCK") 
        $(".reg").show(); 
       else { 
        $(".reg").hide(); 
       } 
      }); 
     } 
    } 
}; 
$(document).ready(function() { 

if ($("#servis").length > 0) 
    servis = true; 

var page = new FormData(); 
page.init(); 
}); 

回答

1

您的代碼不完整,您的問題有點泛泛。你應該更具體地瞭解你有什麼和你想要什麼。這裏回答你的特定問題:

function (context) { ... },上下文是該函數的一個參數。在函數hookupEvents內部,可以使用context作爲傳遞給該函數的任何參數的參考。

如果您致電hookupEvents(window),則函數內部的context變量將是對window的引用。您也可以致電hookupEvents('arg');變量context裏面的函數將會是一個包含「arg」的字符串。

+0

好的,具體來說,這些是什麼:jQ:trimmedVal:必須的:hookupEvents:?那些屬性還是?我也看到他們被分配到this.transportMode = {}我認爲「transportMode」是一個屬性,可以稍後調用,或? – dovla091

+1

@ dovla091:這些是對象字面值中的屬性名稱。如果您不知道*語法*的含義,您應該閱讀教程,例如https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide。堆棧溢出不適合*學習語言*。 –

+0

我同意,但它是一個很好的地方,可以指導他們獲得額外的解釋,如文件,或者最近在這個論壇上發生了什麼變化......? – dovla091

相關問題