Ajax 板


LINE

小弟最近在自学js 之前有学过java(oop观念应该还算可以) 花了好几天才「好像」懂javascript的this跟prototype 想说用文字把想法写下来 结果卡住了T_T 看来我还是不懂 上来请教各位 http://imgur.com/ylBcdX6 想问不知道我这样对於prototype继承的想法有错吗? 还有就是最後的this.... funcB.call(funcC.prototype) 所以this不是应该要是指向funcC.prototype吗? 实际把funcC.prototype.var2跟var3 印出来确实是10,100 那为什麽temp.var2, temp.var3 甚至temp.var1 也都可以印出值呢? --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.255.233.112
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Ajax/M.1459961075.A.1D5.html
1F:推 jackblack: (3) <- 怪怪的,要先弄清楚 call 和 apply 的意思 04/07 00:52
大大你的意思是说这边不会是call这个方法吗? 我是看这边看到的http://www.codedata.com.tw/javascript/essential-javascript-15-prototype/ 喔乾我现在才发现他是说模拟 所以根本就不会是呼叫call吗lol....
2F:→ jackblack: function 的 prototype 不是在 new 的时候建立的 04/07 00:54
3F:→ jackblack: 而是在你定义 funcB.prototype = new funcA(); 时建立 04/07 00:55
4F:→ jackblack: new 是建立一个空物件,并且将建构式中的 this 指向这 04/07 00:59
5F:→ jackblack: 个空物件。所以建构式中定义的 this.var2 等都会赋予空 04/07 01:02
6F:→ jackblack: 物件。建构式的 prototype 的 reference 复制给这个空 04/07 01:04
7F:→ jackblack: 物件的 __proto__ 属性,所以物件可以找到原型物件 04/07 01:05
8F:→ jackblack: 最後变数 temp 会指向这个已经不空的新物件 04/07 01:06
9F:→ jackblack: 当取用物件属性时,会先从物件本身中寻找 04/07 01:08
10F:→ jackblack: 如果找得到就直接使用,找不到则往上层原型物件去找 04/07 01:09
11F:→ jackblack: 在你的例子里,temp 没有 var2,所以往上层原型去找 04/07 01:11
12F:推 jackblack: 上一层的原型物件 funcC.prototype 有 var2 = 10; 04/07 01:14
13F:→ jackblack: 所以就不再继续往上一层找了 04/07 01:15
14F:→ jackblack: 最好把 this 的观念整理好才不会很混乱 04/07 01:16
15F:推 jackblack: 看到你有 Java 的底子,练 JS 的时把 Java 暂放一边 XD 04/07 01:23
※ 编辑: aa06697 (111.255.233.112), 04/07/2016 01:30:58
16F:推 jackblack: 对呀,那篇文章是手动建立空物件、指向原型,再用 call 04/07 01:35
17F:→ jackblack: 来将 function 中的 this 指向 p 04/07 01:36
18F:→ jackblack: 这些动作就是在模拟 new 做的事呀 04/07 01:37
我好像懂了什麽@@ 谢谢你 我再来研究研究 ※ 编辑: aa06697 (111.255.233.112), 04/07/2016 01:41:41 弱弱的问一下 __proto__是都会指到最顶层吗? 像是我把funcC.prototype.__proto__ 跟 funcC.prototype.constructor 印出来都是 func A 而不是funcB 而且是funcA { var1=0 } 可是印出temp.__proto__ 却是funcA 里面是var2, var3, var6 @@ ※ 编辑: aa06697 (111.255.233.112), 04/07/2016 02:49:55 ※ 编辑: aa06697 (111.255.233.112), 04/07/2016 02:52:26
19F:推 eight0: 你用 new funcA 把 funcB 的 prototype 给取代掉了 04/07 03:43
20F:→ eight0: funcB.prototype.constructor 自然就是 funcA 04/07 03:44
21F:→ eight0: funcC 同理 04/07 03:44
22F:推 jackblack: 同楼上,因为 funcC.prototype 是 new 出 04/07 07:14
23F:→ jackblack: 来的新物件,所以没有 constructor 属性 04/07 07:14
24F:→ jackblack: ,所以会往上层找,变成指向 funcA,因此 04/07 07:14
25F:→ jackblack: 我们要在 funcC.prototype 加上 construc 04/07 07:14
26F:→ jackblack: tor 指向funcC,funcB.prototype 也是一 04/07 07:14
27F:→ jackblack: 样的道理 04/07 07:14
28F:推 jackblack: 要记住,物件中如果找不到某一属性,会「 04/07 07:19
29F:→ jackblack: 一层一层」往原型去找 04/07 07:19
30F:推 jackblack: __proto__ 只会指向上一层,以此类推 04/07 07:39
31F:推 mrbigmouth: 建议先找本Javascript基本观念的书看一看通盘了解 04/07 09:45
32F:→ mrbigmouth: 像JavaScript优良部份 04/07 09:45
33F:→ mrbigmouth: 有些东西越靠自己试只会越糊涂 XD 04/07 09:45
感谢以上的各位~ 自己都是看网路上的资源而已 目前也有打算要买书 各位有推荐不错的中译本吗? 虽然目前都是看英文网站居多但看得有点痛苦= = 怕买书来 一本厚厚的都是英文会翻几页就不想看了囧 ※ 编辑: aa06697 (140.116.1.136), 04/07/2016 10:53:05
34F:推 jackblack: 深入浅出 JavaScript 程式设计,有「程式 04/07 13:43
35F:→ jackblack: 设计」这本 04/07 13:43
36F:推 mrbigmouth: JavaScript优良部份有中译 只学基本观念很推这本 04/07 15:44
37F:→ mrbigmouth: 也比较薄 04/07 15:44
38F:推 johnny9144: 优良部份推!会提到你问的这些事情,可是可能要多看几 04/07 17:17
39F:→ johnny9144: 次,一开始可能会有些吃力 04/07 17:17
40F:→ aa06697: thx~~~~~~~ 04/07 22:21







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP