2013-10-07 36 views
1

我試圖縮短了事情有點,所以我提出了實現這一使用下劃線像美元符號在JavaScript

Element.prototype.methodName = function(selector) { 
    return this.querySelector(selector); 
} 

沒事的時候我試圖用$或其他字母或單詞的功能,但似乎下劃線不起作用,知道下劃線_是有效的變量名稱。

Element.prototype._ = function(selector) { 
    return this.querySelector(selector); 
} 

這樣調用:_('body')

錯誤消息ReferenceError: _ is not defined

+0

你使用什麼瀏覽器? –

+2

它不起作用?當你嘗試調用'_()'時,你會收到一個特定的錯誤嗎? –

+0

'ReferenceError:_ is not defined' –

回答

0

假設你有下面的HTML:

<div id="foo"></div> 

而且下面的JavaScript代碼:

var foo = document.getElementById('foo'); 

Element.prototype._ = function() { 
    this.innerHTML = "Bar"; 
} 

foo._(); 

Everthing按預期正常工作,至少在Google Chrome中是如此。我沒有測試任何其他瀏覽器。這樣你可以擴展所有元素與你想要的功能。當然你需要首先獲取元素,調用_();仍然給出參考錯誤。如果你只是想要一個名爲_的函數,你會寫:

function _() { 
    // do something 
}