A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 火龙果tjn 初级黑马   /  2019-12-14 18:56  /  734 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

        眼看已入坑三个月,阿姨头发已经掉一地了~看来已正式加入谢顶大部队……
        But!脱发也阻止不了阿姨在前端学习这条神秘又刺激的道路在前进!
话说毕业已经一年了,大学虽学的是信息管理专业,也算与计算机搭点边,但大学嘛,你懂的,那时年少无知,参加了一堆社团和活动,也拿了不少奖,但就是没意识到专业课的重要性,几乎就是学了个半吊子,虽没挂过课,但每次编程相关专业课考试前就指望着老师“划个重点”,然后就把大题当英语课文给背了下来,每次Java等那些课的考试简直就是变相英语作文默写啊~(来自文科生的强大背诵默写技能)。直到实习找工作才意识到自己荒度的几年大学时光,无奈之下只能强行转行,做了一年的新媒体运营,可别提了,都说运营门槛低,干了一段时间才发现简直了,文案是你,P图也是你,视频剪辑还是你,偶尔还得充当客服专员``````告辞!经深思熟虑,还是毅然决然得辞职了,不留下一片云彩~
       带着对前端学习的那份执念,9月正式走上了程序猿的脱发之旅。其实一开始我也有尝试过自学,但发现效率太低,还容易走弯路,遇到问题也没有人可以求助,只能靠度娘,太累了~虽计算了下成本有点心绞痛,但后来还是决定报了培训班。
        来到黑马果然没有让我失望,这边的教学与管理还是挺靠谱的,几个月来让我感觉仿佛又回到了高三为了梦想拼命学习的时候,学习习惯的养成对今后工作也是会有一定帮助与影响的,天道酬勤,希望这半年时间,可以不负自己当初那份执念~
        
下面是这段时间总结的一些易错知识点:

面向对象的特性:★
1、封装性
2、继承性
3、多态性
注意:
(1) 通过class 关键字创建类, 类名习惯性定义首字母大写;
(2) 类里面有个constructor 函数,可以接收传递过来的参数,同时返回实例对象,class类里面的函数不需要加function;
(3) constructor 函数 只要 new 生成实例时,就会自动调用这个函数(不生成实例上面的代码是不执行的), 如果我们不写这个函数,类也会自动生成这个函数
(4) 生成实例 new 这个步骤不能省略,只要一new完 立即执行constructor中的代码;生成实例 new 不能省略
(5)创建类时 类名后面不要加小括号, 用new生成实例时 类名后面加小括号
(6)类里面的共有的属性和方法一定要加this使用.
注意:
- 每一个由构造函数创建出来的实例有原型__proto__本质也是一个对象
- 构造函数的原型和实例的原型指向的是同一个对象 Star.prototype === ldh.__proto__
call、apply、bind三者的异同
共同点 : 都可以改变this指向
不同点:
call 和 apply 会调用函数立即执行, 并且改变函数内部this指向.
call 和 apply传递的参数不一样,call传递参数使用逗号隔开,apply使用数组传递
bind 不会调用函数, 可以改变函数内部this指向.
应用场景
call 做继承时常用.
apply经常跟数组有关系. 比如借助于数学对象实现数组最大值最小值
bind 不调用函数,但是还想改变this指向. 比如改变定时器内部的this指向.
注意:
1、let不允许重复声明重复的变量名,不能重新赋值
2、let可以只声明不赋值
3、若要使用let,不可以先赋值再定义

let、const、var 的区别
使用 var 声明的变量,其作用域为该语句所在的函数内,且存在变量提升现象
使用 let 声明的变量,其作用域为该语句所在的代码块内,不存在变量提升
使用 const 声明的是常量,在后面出现的代码中不能再修改该常量的值(如函数名)
startsWith():表示参数字符串是否在原字符串的头部,返回布尔值(只要带有在开头的那个字符都是true)
endsWith():表示参数字符串是否在原字符串的尾部,返回布尔值(只要带有在结尾的那个字符都是true)
如果子类想要继承父类的方法,同时在自己内部扩展自己的方法,利用super调用父类的构造函数,super() 必须写在constructor里面并且在子类this之前调用
若子类在调用父类的方法时没有涉及到参数,可以直接调用不需要使用super
实例对象都会有一个属性 __proto__ 指向构造函数的 prototype 原型对象,之所以我们对象可以使用构造函数 prototype 原型对象的属性和方法,就是因为对象有 __proto__ 原型的存在。
__proto__对象原型和原型对象 prototype 是等价的
__proto__对象原型的意义就在于为对象的查找机制提供一个方向,或者说一条路线,但是它是一个非标准属性,因此实际开发中,不可以使用这个属性,它只是内部指向原型对象 prototype

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马