1

我试图缩短一些东西,所以我正在制作实现这个的函数

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

当我尝试使用或其他字母或单词时没关系$,但似乎下划线无法使用它,因为知道下划线_是有效的变量名。

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

这样称呼:_('body')

错误信息ReferenceError: _ is not defined

4

1 回答 1

0

假设您有以下 HTML:

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

以及以下 JavaScript 代码:

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

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

foo._();

一切正常,至少在 Google Chrome 中是这样。我没有测试任何其他浏览器。通过这种方式,您可以使用所需的功能扩展所有元素。当然你需要先获取一个元素,调用 _(); 仍然给出参考错误。如果你只想要一个名为 _ 的函数,你会写:

function _() {
    // do something
}
于 2013-10-07T15:05:59.923 回答