开发者社区> 问答> 正文

javascript中这两种对象属性有什么区别?

第一种:`function aaa(){}
aaa.a=111;`
第二种:`function bbb(){}
bbb.prototype.b=111;`
我在csdn问过第一种,大部分人说属于面向对象的范畴。
但是我看了几篇js面向对象博客,都是用第二种原型的方式;
所以想知道这两种给对象添加属性的行为,在实际应用中有什么区别?

展开
收起
云栖技术 2016-06-02 09:38:15 1922 0
1 条回答
写回答
取消 提交回答
  • 社区爱好者,专为云栖社区服务!

    如果把aaa,bbb作为方法来看,这两者没有区别。
    如果把aaa,bbb作为类来看,那有区别。
    aaa.a是私有属性,var obj = new aaa();实例化后,是无法访问到a属性的
    bbb.prototype.b是公有属性,var obj = new bbb();实例化后,是无法访问到b属性的

    2019-07-17 19:24:00
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript异步编程 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载