日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

构造函数模式

發(fā)布時間:2023/12/2 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 构造函数模式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
function student(props){this.name=props.name || '匿名';//默認(rèn)是匿名this.grade=props.grade || 1;}student.prototype.hello=function(){console.log('hello ' this.name);}function createStudent(props){return new student(props||{})}var xiaoming=createStudent({name:'xiaoming'});xiaoming.hello();//hello xiaoming

傳進(jìn)一個數(shù)組?

function animal(name,age,grade){this.name=name;this.age=age;this.grade=grade;}animal.prototype.hello=function(){console.log('hello ' this.name);}var chicken=new animal('chicken',3,12);chicken.hello();//hello chicken

我理解的構(gòu)造函數(shù)就是用new()實(shí)例化去構(gòu)造

?

看了原型繼承,發(fā)現(xiàn)原型繼承不了

所以就看代碼

function student(name){this.name=name||'unname';}student.prototype.hello=function(){console.log('hello' this.name)}function cat(grade){student.call(this,grade);this.grade=grade||12}var a=new cat()//a.name=unname,a.grade=12,a.hello() is not a function不可以繼承student的原型, function f(){}f.prototype=student.prototype;cat.prototype=new f()var b=new cat();//b.name=unname,b.grade=12,b.hello()='hello unname'可以繼承student的原型

通過call來調(diào)用繼承,并綁定this

?也可以用class來extends

class student{constructor(name){this.name=name}hello(){console.log('hello' this.name)} } class cat extends student{constructor(name,grade){super(name);this.grade=grade;}myGrade(){console.log('my grade is' this.grade)} } var a=new cat() //a.name,a.hello(),a.grade,a.myGrade()都能用

?


更多專業(yè)前端知識,請上 【猿2048】www.mk2048.com

總結(jié)

以上是生活随笔為你收集整理的构造函数模式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。