把prototype属性放在花括号里面 和 放在花括号外面的区别是什么呢

lyw2073327 2021-02-20 06:21:30
想咨询一下这两种方式有什么区别,从结果看一个能反馈结果,一个无法反馈,想了解一下这其中的原因

方法一:
function Person(){
}
Person.prototype.name = 'Jimmy';
Person.prototype.age = 29;
Person.prototype.job = 'Teacher';
Person.prototype.sayName = function(){
alert(this.name);
}
var keys = Object.keys(Person.prototype);
alert(keys)

方法二:
function Person(){
Person.prototype.name = 'Jimmy';
Person.prototype.age = 29;
Person.prototype.job = 'Teacher';
Person.prototype.sayName = function(){
alert(this.name);
}
}
var keys = Object.keys(Person.prototype);
alert(keys)
...全文
167 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
丰云 2021-02-22
  • 打赏
  • 举报
回复
也许孔乙己学编程,会研究第二种写法,甚至更多的写法。。。。
我爱小仙女 2021-02-22
  • 打赏
  • 举报
回复
确实是函数没执行的问题。不过从没见过第二种写法,也没想到这种写法的应用场景
hbhbhbhbhb1021 2021-02-22
  • 打赏
  • 举报
回复
括号内的是函数,没执行啊,肯定没有的

function Person(){
Person.prototype.name = 'Jimmy';
Person.prototype.age = 29;
Person.prototype.job = 'Teacher';
Person.prototype.sayName = function(){
alert(this.name);
}
}
Person();
var keys = Object.keys(Person.prototype);
alert(keys)
sxysoft_csdn 2021-02-22
  • 打赏
  • 举报
回复
方法一已经帮您实现了更方法二一样的效果。
  <script>
    function Person() {
      Person.prototype.name = 'Jimmy';
      Person.prototype.age = 29;
      Person.prototype.job = 'Teacher';
      Person.prototype.sayName = function () {
        alert(this.name);
      }
    }
    Person();
    var keys = Object.keys(Person.prototype);
    alert(keys)
  </script>
可多看看js相关知识

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧