javascript – 为什么Function.x在声明Function.prototype.x后工作?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 为什么Function.x在声明Function.prototype.x后工作?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含584字,纯文字阅读大概需要1分钟。
内容图文
![javascript – 为什么Function.x在声明Function.prototype.x后工作?](/upload/InfoBanner/zyjiaocheng/721/77dbd4ae223a44958e45600328ead852.jpg)
据我所知,Function的prototype属性是如何向从该函数实例化的所有对象添加方法/属性.
所以,当我尝试这样的事情
function Person(){}
Person.prototype.saySomething = function(){ alert( "hi there" ); }
Person.saySomething();
我得到错误“Person.saySomething不是一个函数”,这是有意义的,因为我没有在Person对象实例上执行该函数.
但为什么运行以下代码工作呢?
Function.prototype.sayHi = function(){ alert( "hi!" );}
Function.sayHi();
解决方法:
您必须首先创建Person的实例:
new Person().saySomeThing();
原型方法/属性仅在通过new关键字创建构造函数实例时继承.
Function.sayHi()起作用,因为Function构造函数也是一个函数.
内容总结
以上是互联网集市为您收集整理的javascript – 为什么Function.x在声明Function.prototype.x后工作?全部内容,希望文章能够帮你解决javascript – 为什么Function.x在声明Function.prototype.x后工作?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。