<JS:Prototype原型对象>
<JS:Prototype原型对象>2023年1月1日
本帖最后由 tzbm123456 于 2023-1-3 12:56 编辑
一、JS 原型prototype:https://blog.csdn.net/xy_is_fhh/article/details/122719523
二、JavaScript定义类(class)的三种方法:https://blog.csdn.net/dyt_1314/article/details/84939534
三、JS的ES6中的类创建、继承和使用:https://blog.csdn.net/weixin_47342624/article/details/126902851例如:
class Rb {
constructor(name) {
this.name = name;
}
static hello() {
return "Hello!!";
}
fn() {
alert(this.name);
}
}
var a=new Rb('KKK');
Rb.hello()//对话框显示'Hello!!'
a.name//返回'KKK'
a.fn()//对话框显示'KKK'
本帖最后由 tzbm123456 于 2023-1-1 15:44 编辑
<私有属性和方法>
1、构造函数法中,只要不定义在this上的属性和方法都是私有属性和方法;
<属性和方法查找顺序>
第一步,查找对象中是否定义;
第二步,查找类原型对象是否定义;
第三步,查找类公有属性和方法是否定义;
本帖最后由 tzbm123456 于 2023-1-2 09:16 编辑
一、对象与类和原型对象的继承关系:
1、类创建对象后,对象将继承类的公有属性和方法,同时继承类原型对象的属性和方法;
2、同名时继承优先顺序为:首先为类的公有属性和方法,其次是原型对象的属性和方法;
3、类的私有属性和方法只能通过类的公有方法调取;
4、对象生成后,对象类(或原型对象)的公有属性和方法将成为对象的属性和方法;
5、对象属性的搜索优先顺序为:首先对象,其次类;
例如:
function BB(){
this.aaa='一';
}
BB.prototype.aaa='二'
BB.prototype.fn=function(){alert(this.aaa)}
BB.prototype.fn01=function(){alert(BB.prototype.aaa)}
var a=new BB()
a.aaa//返回'一'
a.fn()//对话框显示'一'
a._proto_.fn()//对话框显示'二'
//若没有定义BB.prototype.aaa='二',则上式对话框显示'undefined'
二、原型对象和类的通信关系:
1、原型对象的方法通过this调用原型对象(或类的)的属性;
2、搜索时优先顺序为:首先为原型对象属性,其次为类属性;
本帖最后由 tzbm123456 于 2023-1-1 22:46 编辑
❤箭头函数的介绍:https://www.jb51.net/article/257565.htm
页:
[1]