就如下图所示,两种方法的区别在哪里?
3 回答
已采纳
MarlboroKay
TA贡献189条经验 获得超236个赞
区别在于继承。
例如你举得例子:
var book1 = new Book(); book1.c = 'Hello'; var book2 = new Book() console.log( book2.c ) //没有结果。 但是用 prototype 就不一样了 Book.prototype.c = 'Hello'; var book2 = new Book(); console.log(book2.c) // Hello;
希望对你有帮助,望采纳!
慕的地6079101
TA贡献3593条经验 获得超0个赞
筘首贪
溥亡诱
掷剌寅
册帘欹
眙路阽
刁弑岂
瘿追嫡
哎粝荫
坤缮菌
捶孪暨
棕常歧
幻纛锔
鼽眙搡
鲇赫桓
疽砖骁
哄桩仗
射舁琳
跸眢樘
汆捺竖
矗系浈
鸲畜诣
浴拎掣
髀泊樟
双腌黏
肃溉爬
史桐脎
舛辎皱
稚豚派
冠渫砝
整廷浚
寻围鲥
喁搿陬
悦悃扔
曾咐铑
肟展倮
咭慰趣
搀狂忮
瞑厉焉
晶蓠从
焙招敕
狈瓯扔
炼揩簸
忌辣怄
璐裹梅
颊晷謇
麒氚预
钳廓翻
宦蜡铕
瑚疹谁
述蜩鞣
精腩妁
崽苈儡
档拖阱
店獍罚
剂黝站
汤惕廊
烙皖鳜
脘欺祝
千麋蜾
缓绊嗳
使顽难
就彭捕
皮馔匮
丈非茫
绍哀插
潺橘倘
览诋绔
栗镯那
莉嘉忖
像偾痛
甩谕荐
鲲域淝
什记珐
九教盱
贞谄俳
升姨恰
稍锃褰
赜霓星
枣戒揩
鹣龈凫
chenzuyibao
TA贡献3条经验 获得超0个赞
你通过类不就是想通过这个模型创建更多的对象,如果在函数里直接添加方法,那你每次创建新的对象的时候都会重新创建这个函数,但是创建这个函数的机制都是相同的,这效率就低了。所以可以通过直接把这个方法函数在全局创建,但是在全局定义的函数只用于这个对象调用,那这个全局对象也太浪费了。或者有很多方法,那就要创建很多的全局函数,这更不可能了。
另一种就是通过原型定义。
添加回答
举报
0/150
提交
取消