tzbm123456 发表于 2023-1-1 01:08:28

<JS:Prototype原型对象>

<JS:Prototype原型对象>
2023年1月1日

tzbm123456 发表于 2023-1-1 01:10:04

本帖最后由 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 09:29:06

本帖最后由 tzbm123456 于 2023-1-1 15:44 编辑

<私有属性和方法>
      1、构造函数法中,只要不定义在this上的属性和方法都是私有属性和方法;


<属性和方法查找顺序>
      第一步,查找对象中是否定义;
      第二步,查找类原型对象是否定义;
      第三步,查找类公有属性和方法是否定义;

tzbm123456 发表于 2023-1-1 21:24:35

本帖最后由 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:44:16

本帖最后由 tzbm123456 于 2023-1-1 22:46 编辑

❤箭头函数的介绍:https://www.jb51.net/article/257565.htm

页: [1]
查看完整版本: <JS:Prototype原型对象>