时间:2023-02-26 10:30编辑:九州下载来源:www.wzjsgs.com
1、不是原型链继承,只是借用构造函数,所以不能继承原型的属性和方法。
2、虽然构造函数中定义的属性和方法是可以访问的,但是每个实例都被复制了。
如果例子太多,方法太多,占用内存很大,那么方法就在构造函数中定义,函数的复用就无从谈起。
实例
//父构造函数 functionFather(){ this.name='father' this.speakName1=function(){ console.log('speakName1') } this.speakName2=function(){ console.log('speakName2') } this.speakName3=function(){ console.log('speakName3') } this.speakName4=function(){ console.log('speakName4') } } //父原型上方法 Father.prototype.alertName=function(){ console.log(this.name) } //父原型上属性 Father.prototype.age=21 //子构造函数 functionChildren(){ Father.call(this) } //创建子实例 letc1=newChildren() //调用原型方法,实例访问不到 c1.alertName() //TypeError:c1.alertNameisnotafunction //访问原型属性,实例中未定义 console.log(c1.age) //undefined //可以访问实例属性,但是每个实例都存有自己一份name值 console.log(c1.name) //father //可以访问实例方法,但是每个实例都存有自己一份speakName1()方法, //且方法过多,内存占用量大,这就不叫复用了 c1.speakName1()//speakName1 c1.speakName2()//speakName2 c1.speakName3()//speakName3 c1.speakName4()//speakName4 //instanceofisPrototypeOf无法判断实例和类型的关系 console.log(Father.prototype.isPrototypeOf(c1))//false console.log(c1instanceofFather)//false
以上就是js使用构造函数的缺点,希望对大家有所帮助。
推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。
专业数据统计,95%的用户会因为[不安全]提示而放弃访问,从而给网站造成用户流失。问题就出在不安全的HTTP 明文传输协议上。2018年2月初,谷歌旗下Chrome浏览器宣布“封杀”HTTP协议的网站,并将这些网站标示为“Not Secure”(不安全)。
2023-03-03 21:141、do-while语句是一种后测试循环语句,即循环体中的代码执行后才会对退出条件进行求值。2、循环体内的代码至少执行一次。do-while的语法如下:do{ statement }while(expression)下面是一个例子:letxhs=0 do{ xhs+=2 }while(xhs<10)在上面的
2023-02-26 12:191、while语句是一种先测试循环语句,即先检测退出条件,再执行循环体内的代码。2、while循环体内的代码有可能不会执行。下面是 while 循环的语法:while(expression){ statement }实例leti=0 while(i<10){ i+=2 }在这个例子中,变量 xhs 从 0 开
2023-02-26 12:181、for语句也是先测试语句,只不过增加了进入循环之前的初始化代码.以及循环执行后要执行的表达式(loop-expression),语法如下:for(initialization;expression;loop-expression){ statement }下面是一个用例:letxhsLength=10 for(letxhs=0;xh
2023-02-26 12:17说明1、for-of语句是一种严格的迭代语句,用于遍历可迭代对象的元素。2、for-of循环将按照可迭代对象的next()方法产生值的顺序迭代元素。关于可迭代对象,请参考ES6系列的Iterator。如果尝试迭代的变量不支持迭代,for-of语句就会出错。语法:只
2023-02-26 12:16说明1、switch语句可用于所有的数据类型(在许多语言中,它只能用于数值),因此可以使用字符串甚至对象。2、条件值不一定是常量,或者是一个变量或者一个表达式。实例switch('helloxhsRookies'){ case'hello'+'xhsRookies&#
2023-02-26 12:15发布日期:2022-10-29人气:641
发布日期:2022-10-10人气:555
发布日期:2022-09-29人气:335
发布日期:2022-09-04人气:311
发布日期:2023-01-16人气:226
发布日期:2022-10-02人气:149
发布日期:2022-11-07人气:145