1、实例不是父类的实例,只是子类的实例。2、能够继承父类的实例属性和方法,不能继承原型属性/方法。3、函数无法复用,每个子类都有父类实例函数的副本,影响性能。实例functionStar(name,age){ this.name=name this.age=age this.sayName=funct
2023-02-261、基本数据类型是按值访问的。也就是说我们可以操作保存在变量中的实际值。2、基础数据类型的值是不可改变的。任何方法都不能改变基础数据类型的值。3、属性和方法不能添加到基本数据类型中。4、基础数据类型的赋值是简单的赋值。如果从
2023-02-261、创建简单对象:使用对象字面量{}创建对象。2、用function(函数)模拟class(无参构造函数)。3、使用工厂创建(Object关键字)。4、prototype关键字采用原型对象。5、混合模式(原型和构造函数)。实例functionPerson(name,age,job){ this.name
2023-02-261、js数组是值的有序集合,每个值称为元素或元素。每个元素在数组中都有一个位置,用数字表示,称为索引或下标。2、js的数组没有类型,数组元素可以是任何类型。同一数组中的不同元素可能是对象或数组,可以重复如何顺序。3、数组元素的索引不一定
2023-02-261、带参数的工厂函数和所有函数一样,可以通过参数来定义我们的工厂函数。组合工厂函数,在一个工厂函数中定义另一个工厂函数。2、可以帮助我们将复杂的工厂函数拆分成更小、更重要的碎片。3、异步的工厂函数,并非所有工厂都会立即返回数据。
2023-02-261、优点,通过工厂模式,我们可以快速创建大量相似对象,没有重复代码。2、缺点,工厂模式创建的对象属于Object,无法区分对象类型,这也是工厂模式没有广泛使用的原因。实例functioncreatPerson(name,age){ varobj={}; obj.name=name; obj.age=age;
2023-02-261、构造函数与普通函数相同,但不需要调用。构造函数通过new关键词调用,构造函数名称的首字母通常大小。2、使用new操作符调用构造函数。经历四个步骤,创建新对象,将构造函数的作用域赋予新对象,执行构造函数,返回新对象。实例functionPerson(nam
2023-02-261、JS中的每个函数都有prototype属性,指向一个对象。该对象的作用是该函数的所有实例都可以共享该对象的属性和方法。我们称这个对象为原型对象。2、原型模式可以解决对象方法重复创建的问题。原型不能接收参数,所有属性都是共享的。实例fun
2023-02-261、原型是实时的,这意味着原型对象的属性和方法实时更新。2、js中的对象是通过引用传递的,只有一个原型对象,而不是new复制一个对象,所以对原型的操作和更新会影响所有对象。这是原型对象的实时性。实例Gadget.prototype.price=100; Gadget.pr
2023-02-261、forEach()类似于map(),它还将每个元素依次作用于传入函数,但不会返回新的数组。2、forEach()常用于遍历数组,用于调用数组的每一个元素,并将其传递给回调函数。传输函数不需要返回值。实例vararr=[7,4,6,51,1]; try{arr.forEach((item,inde
2023-02-261、函数a中有一个函数b,可以访问函数a中的变量,然后形成闭包。2、闭包可以读取其他函数内部的变量。3、闭包是连接函数内部和函数外部的桥梁。返回闭包时,返回函数不要引用任何循环变量,或者后续会发生变化的变量。实例functioncount(){ varar
2023-02-261、箭头函数相当于匿名函数,并简化了函数定义。箭头函数有两种格式,一种像上面一样,只包含一种表达式,省略了{...}和return。2、还有一种可以包含多个语句,此时不能省略{...}和return。实例x=>{ if(x>0){ returnx*x; } else{ return-x*x; } }以
2023-02-26发布日期:2023-08-07人气:0
发布日期:2023-08-07人气:0
发布日期:2023-08-07人气:0
发布日期:2023-08-08人气:0
发布日期:2023-08-08人气:0
发布日期:2023-08-10人气:0
发布日期:2023-08-10人气:0