我觉得讲的很好,如果直接告诉你原理,你可能没印象,原理要自己去找,自己去推敲,你才能真正明白。老师讲的全是干货,每一句都要耗费精力去理解,所以会觉得学起来很累,有些视频就简单多了,挺起来不累,但是你能学到多深呢?
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个梨。现在老师说,拿出苹果,然后我拿出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类型。