constructor:构造函数
构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。构造函数不能被直接调用,必须通过new运算符在创建对象时才会自动调用。也就是说我们在构造函数里定义了两个成员变量(属性)name和age。
get name(){
return this._name;
}
解释:当我们给获取name值的时候,实际上是调用了 get name();
dog.name;//实际上调用了get name();
set name(value){
this._name=value;
}
解释:当我们给name赋值的时候,实际上调用了set name()
dog.name=“dog zhou”;
注意:this._name;如果不加下划线会报错:无限递归
![]()
![]()
class Person {
constructor(name, sex, age) {
//成员变量(对象的属性)
console.log('constructor');
this.name= name;
this.sex = sex;
this.age = age;
}
//Name的访问器
get name() {
console.log('getName');
//访问属性,属性前面要加下划线,否则会无限递归
return this._name;
}
set name(newValue) {
console.log('setName');
this._name = newValue;
}
toString() {
return "我叫:" + this.name;
}
play() {
console.log('各类活动');
}
static sleep() {
console.log('休息');
}
}
class Student extends Person {
constructor(name, sex, age, className) {
//要创建学生,先创建人类
super(name, sex, age);
this.className = className;
}
//重写父类函数(overwrite)
play() {
super.play();//调用父类的play()
console.log('学习');
}
}
var p1 = new Person('frank', '男', '40');
p1.name= 'jack';
p1.play();
var p2 = new Student('rose', '女', 18, '0820');
p2.play();//对象调用(偶尔用,属于各自对象的)
Student.sleep();//用类名调用,而不是对象调用(经常用,共用一个函数)
super解释:
(1)在子类构造方法(constructor)内,super指代父类的构造方法;
(2)在其它方法内,super指代父类的同名方法。如:
show() { //和父类同名的子类方法
super.show(); //调用父类同名方法
alert('以后是子类代码部分');
}
static解释:
- 被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享
- 用类名调用,而不是对象调用
Promises 异步模式
使用了 Promise 之后可以用一种链式调用的方式来组织代码,让代码更加直观
resolve :使 Promise 对象的状态变成成功,传递一个参数用于后续成功后的操作。 成功
reject :将 Promise 对象的状态变为失败,错误的信息传递到后续错误处理操作。 失败
![]()
jQuery
标签卡切换
![]()
点名器
![]()
手风琴
![]()
悬浮提醒框
![]()
补充:
淡入:$('div').fadeIn(1200);
淡出:$('div').fadeOut(600);
属性值:$('div').attr('title')
属性值:$('div').attr('title','123')