[英]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.