js高级
Posted liuzhuoying
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js高级相关的知识,希望对你有一定的参考价值。
面向对象思想
面向过程:面向过程是实现代码逻辑的步骤,主要是把重心点放在实现功能上,不太考虑封装. 优点:效率高,缺点;维护起来太麻烦
面向对象:主要的重心点,先放在功能模块的划分,然后想着什么功能可以去进行复用(可以进行抽取) 优点:会让我们功能具备模块化开发,一个模块就负责一个功能后续方便我们的维护.
面向对象的特性 : 封装性 继承性 抽象性
对象是什么什么呢 ?万物皆对象,一个具体的事物,一个对象中就包含了属性,方法.
ES6的使用对象:在ES6中给我们提供了 class这个关键字,只要是跟在clss后面,就是一个类(代表是泛指,后面不要加括号) 列如: class Person constructo r(参数) //构造函数构造器 ;
ES6面向对象语法例子:class Person
constructo(uname,age)
this.uname = uname;
this.age = age;
play()
实例化对象:var ltz = new Person(‘ltz‘,18); (ltz是一个人名简称, 李太子) 注意,只要new了Person,相当于创建了一个实例化对象 马上执行constructo函数.
ltz.uname;
ltz.age;
ltz.play;
ES6 中的继承:利用extends关键字来继承 例子: clas Child extends Father
constructor()
//代表调用父类的构造
super(父类参数)
为什么需要继承:我们可以把公共的的属性和方法都写在父类中,那么我们创建子类的时候就不需要写这个属性跟方法了,只需要去写子类特有的属性跟方法就行了.
ES6中的this指向问题:我们在类中,去使用属性或者调用方法千万不要忘了用this,需要去关注的就是this的指向问题:默认情况下,类中的this都指向的是当前实例化的对象,除非 事件,定时器,或者是手动改变了this的指向.
一个禁止文字被选中的小代码: window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty()
以上是关于js高级的主要内容,如果未能解决你的问题,请参考以下文章