第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

老師講的含糊其辭啊!

這節(jié)課的

  • 對象原型鏈上的this

這一小節(jié)中有這樣一個case:

var?o={f:function(){return:this.a+this.b}}
var?p=Object.creat(o)
p.a=1
p.b=4
console.log(p.f())//5

這里老師講的太含糊其辭了,什么叫this也能指向對象p呀?




我激動了!!不好意思!!

正在回答

8 回答

我感覺從作用域來理解this好一點

0 回復 有任何疑惑可以回復我~

一句話理解this.不用管this在什么方法中。誰調用.this指向誰就對了。

2 回復 有任何疑惑可以回復我~

此時應該是this指向p吧!所以結果。。。。。。

0 回復 有任何疑惑可以回復我~

所以,遇到與面向對象相關的this指向問題時,可以認為JavaScript引擎偷偷的在函數(shù)中傳入了一個參數(shù)(第一個參數(shù),要牢記!?。?,只是你看不見,參數(shù)值就是 . 之前的對象。。然后,方法用this來接收了這個對象,然后你就可以在方法中盡情地使用this了。

0 回復 有任何疑惑可以回復我~
#1

proto 提問者

對,我一激動搞錯了,是方法調用的this。。。。
2015-12-13 回復 有任何疑惑可以回復我~

告訴你個技巧,要理解this指向誰并不難。。

比如:

var?o={f:function(){return:this.a+this.b}}

o.f();

可以理解成

f(o);

及把o作為參數(shù)傳入了f中,然后f用一個變量叫做this來接收了這個o。。所以在

f中,this.a就相當于 o.a,this,b就相當于o.b

1 回復 有任何疑惑可以回復我~

我覺得你理解可能有點問題。http://img1.sycdn.imooc.com//566d10eb0001e43b03220375.jpg

0 回復 有任何疑惑可以回復我~
#1

proto 提問者

是搞錯了
2015-12-13 回復 有任何疑惑可以回復我~
#2

proto 提問者

搞錯了
2015-12-13 回復 有任何疑惑可以回復我~
#3

木子舟義 回復 proto 提問者

說出來大家分析后比較容易理解。加油吧~
2015-12-13 回復 有任何疑惑可以回復我~
#4

proto 提問者 回復 木子舟義

哦好 這里this指向的是f方法的對象吧?
2015-12-13 回復 有任何疑惑可以回復我~
#5

木子舟義 回復 proto 提問者

對 p 調用就指向p 如果再Object.create 一個 其他的實例。再這個實例調用 就指向這個實例了
2015-12-13 回復 有任何疑惑可以回復我~
查看2條回復

你也確定用var p = Object.create(o); ?給 p.a = 1; 是賦值到o.a上?

0 回復 有任何疑惑可以回復我~
#1

proto 提問者

恩,你試試
2015-12-13 回復 有任何疑惑可以回復我~
#2

proto 提問者

create方法就是原型鏈上的方法
2015-12-13 回復 有任何疑惑可以回復我~
#3

proto 提問者

屬性a b都是原型鏈上的,執(zhí)行的時候是去遍歷原型對象,不是遍歷實例對象,這就是為啥原型鏈強大的原因
2015-12-13 回復 有任何疑惑可以回復我~
查看1條回復

你確定用var p = new o;能 new出來?

0 回復 有任何疑惑可以回復我~
#1

proto 提問者

new不出來,得把o改造成函數(shù)
2015-12-13 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JavaScript深入淺出
  • 參與學習       281094    人
  • 解答問題       1054    個

由淺入深學習JS語言特性,且解析JS常見誤區(qū),從入門到掌握

進入課程

老師講的含糊其辭??!

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號