我覺得講的很好,如果直接告訴你原理,你可能沒印象,原理要自己去找,自己去推敲,你才能真正明白。老師講的全是干貨,每一句都要耗費精力去理解,所以會覺得學起來很累,有些視頻就簡單多了,挺起來不累,但是你能學到多深呢?
2019-02-09
老師講的很好,但是真的太枯燥了,這是典型的知識精華學習,沒有任務驅動,項目驅動,全是知識點,學的快吐了,但是要堅持,不多了不多了,還有幾章,555555,學完就能去搞點前端項目了,話雖如此,干貨滿滿,現在再去看別人寫的技術帖子,都能看得懂了。感謝老師。
2019-02-09
當通過new關鍵字來操作函數MyClass時,MyClass中的代碼this所以會指向一個空對象,而不是指向window,這個空對象的原
型會指向MyClass.prototype,同時this.a等于為空對象添加了一個屬性a并賦值為10,當MyClass中代碼走完后,就要返回一
個值,但foo函數體內并沒有定義return,所以默認返回this,而this指向的這個對象最終會賦值給obj。最后我們會看到obj
就是一個原型指向MyClass.prototype且包含了值為10的屬性a的對象。
型會指向MyClass.prototype,同時this.a等于為空對象添加了一個屬性a并賦值為10,當MyClass中代碼走完后,就要返回一
個值,但foo函數體內并沒有定義return,所以默認返回this,而this指向的這個對象最終會賦值給obj。最后我們會看到obj
就是一個原型指向MyClass.prototype且包含了值為10的屬性a的對象。
2019-02-09
以下是我對構造器中的this的結論:通過new關鍵來操作MyClass函數時,MyClass中的this所以會指向一個空對象,而不是window,該空對象的原型會指向foo.prototype同時this.a等于為空對象添加了一個屬性a并賦值為10,當MyClass中代碼走完后,就要返回一個值,但因為MyClass中沒有定義return,所以默認返回this。最后obj會接收MyClass返回來的this,而這個this就是原型指向foo.prototype同時包含一個值為10的屬性a的對象。
2019-02-09
老師講的非常好,語速很快,同學們在學習的時候一定要反復聽,甚至可以用記事本把老師說的話都記下來然后仔細推敲,老師講的大部分內容邏輯都是十分通常的,然后自己一定要把所思所想付諸于代碼,通過代碼去驗證老師所講和自我所思,這樣才會確定自己是不是真的聽明白了,所以學習實際上是一種交互的行為,而不是單方面的講以及單方面的聽,一定要跟老師的代碼互動起來,這樣才能真正學明白。目前為止,我覺得都很通常,希望后面也能愉快的繼續下去,直到學完。不知道學完這個,JS能達到什么樣的水平呢?有沒有人解答一下。
2019-02-09
5分29秒:那么這一點上和一般的對象屬性作為函數對象也是類似的
。這句話是不是說錯了?有點不明所以。老師是不是想說,那么這一點上和一般的函數對象作為對象屬性也是類似的。我感覺是說混了。
。這句話是不是說錯了?有點不明所以。老師是不是想說,那么這一點上和一般的函數對象作為對象屬性也是類似的。我感覺是說混了。
2019-02-09
簡單的說吧,函數聲明會被優先處理這一特點跟java的static很像,當然,底層是不是一回事我就不清楚了。而函數表達式就先聲明一個函數變量,再給它賦值,所以它會被當作一個普通的變量來處理吧。
2019-02-07
好吧,我現在終于明白了,原來countMap1 = {},這玩意不是數組啊,我當成java語法了,原來這是js里的對象啊,哈哈哈。明白了,把數據類型當作key,把出現次數當作value,然后對比每一種數據類型是否存在以及出現次數是否相同。好吧,確實很清奇。比我的方法要炫酷,哈哈。
我再換一種說法吧,前半部分我跟老師是一樣的,后面的處理不同,我是排序再判斷,老師是不排序,但是通過同步檢查來達到目的,非常清奇的思路。意思就是,你有5個蘋果1個梨,我有3個蘋果2個梨?,F在老師說,拿出蘋果,然后我拿出1個,你拿出1個,然后老是說拿出梨,我拿出1個,你拿出1個,老師再說拿出梨,我能拿,但是你拿不出來,這就表示我們手所持的水果是不同的了。
第三種方法就是記錄法的變種,也是老師的解法,我的思路是對記錄下來的string數組進行排序,這樣兩個數組的類型一一對應起來,然后判斷起來就方便了。老師的解法是不進行排序,而是通過排除法,比如a記錄的是string number boolean,b數組記錄的是boolean number string。在不排序的情況下如何對比呢?那就先判斷a數組中有沒有string,如果有再判斷b數組有沒有,如果b數組也有。就進行下一步。以此類推
其實解決這題有很多種思路,有一共通點,就是每個元素你都得判斷,既然你都要判斷,那么判斷的形式就會出現不同了,所以接下來就是不同點,第一種就是排除法,拿著a數組的元素去b數組找,找到了就刪掉,但我覺得這種方法有點笨。第二種就是記錄法,既然都遍歷了所有元素,那么把它們記錄下來,然后對照一下就知道了。還有第三種嗎?歡迎留言。
順便說一下我的解題思路吧,開始想的很簡單,先對兩個數組排序,然后循環對比類型,這種思路流產了,因為boolean會解釋為0和1,這會跟number類型混在一起,導致排序之后的數據類型并不能一一對應起來。第二種思路就很簡單了,遍歷兩個數組的所有元素并判斷所有類型,然后所有的類型以string字符串的形式添加到一個新的數組,然后這個數組里就是源數組的所有數據類型的信息,然后對這個string類型的數據進行排序,就不會出現第一種思路中出現的問題了,最后直接對比兩個數組就好了,因為它們都是string類型。