繁体   English   中英

使用'this'的Object.prototype

[英]Object.prototype using 'this'

这可能是基本的,可能是不可能的,我可能完全误解了,但是我是一个初学者,试图了解如何使用Object.prototype向对象添加方法。

解释我的问题的最好方法是首先显示以下内容:

Object.prototype.printHTML = function() {
    alert(this.innerHTML);
};

this似乎只是引用Object.prototype.printHTML(更改上面=符号后的确切HTML。

我的问题是 ,您可以直接引用所使用的对象吗?

因此,以下内容将提醒“测试段落”:

<body>
<p id='test'>Test Paragraph</p>

<script>
Object.prototype.printHTML = function() {
    alert(this.innerHTML);
};

document.getElementById("test").printHTML; //this would alert "Test Paragraph"
//currently alerts "function() {alert(this.innerHTML);}
</script>
</body>

我知道这个例子是没有意义的(因为document.getElementById("test").innerHTML;正是我所需要的),但是我只是想了解使用Object.prototype创建方法,我无法弄清楚如何访问要在其上运行方法的Object。

谢谢

您真的很亲近,而是这样做

<body>
<p id='test'>Test Paragraph</p>

<script>
Object.prototype.printHTML = function() {
    alert(this.innerHTML);
};

document.getElementById("test").printHTML(); //<--- HERE WE ADD THE PARENTHESIS
//currently alerts "function() {alert(this.innerHTML);}
</script>
</body>

您正在将printHTML作为属性而不是函数来访问并执行它。 因此,为什么要使用文本功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM