JS-函數(shù)補充及對象2021-12-03

函數(shù)補充

1.arguments

arguments對象里面保存這方法的所有參數(shù)

arguments對象里面有個一個callee方法,該方法指向當前方法本身

functioncalc(num){

if(num===1){

return num

}

// 因為arguments.callee 就時 指向當前方法本身。

// 這樣的做的好處是,防止外部方法名修改后,導(dǎo)致遞歸調(diào)用失效。

let sum=num+arguments.callee(num-1)

return sum

}

2.分頁方法

//定義一個分頁方法,方法的三個參數(shù)分別是:原始數(shù)組,頁碼,每頁數(shù)量

functionpageData(arr,pageIndex,pageSize){

//思路:就是對原始數(shù)組中的數(shù)據(jù),做截取

//定義截取數(shù)據(jù)的起始位置l

etstart=(pageIndex-1)*pageSize

//定義截取數(shù)據(jù)的結(jié)束位置

letend=start+pageSizereturnarr.slice(start,end)

}

對象

如果 a.b ,那么a就是對象,b是a的屬性

如果 a.c(),那么a就是對象,c是a的方法

對象就是擁有一組屬性和方法的集合

定義對象有兩種方式:1.采用字面量賦值方式直接定義。2.采用構(gòu)造函數(shù)的方式new一個對象

1.采用字面量賦值方式定義對象

通過對象名.屬性,調(diào)用對象的屬性,可以獲取屬性的值,也可以修改屬性的值,也可以添加新的屬性

通過對象名.方法(),調(diào)用對象的方法,執(zhí)行方法里面的代碼

案例:

?let calc = {

? ? ? ? ? ? num1:0,

? ? ? ? ? ? num2:0,

? ? ? ? ? ? jia(){

? ? ? ? ? ? ? ? console.log(`${this.num1}+${this.num2}=${this.num1+this.num2}`);

? ? ? ? ? ? },

? ? ? ? ? ? jian(){

? ? ? ? ? ? ? ? console.log(`${this.num1}-${this.num2}=${this.num1-this.num2}`);

? ? ? ? ? ? },

? ? ? ? ? ? cheng(){

? ? ? ? ? ? ? ? console.log(`${this.num1}*${this.num2}=${this.num1*this.num2}`);

? ? ? ? ? ? },

? ? ? ? ? ? chu(){

? ? ? ? ? ? ? ? console.log(`${this.num1}/${this.num2}=${this.num1/this.num2}`);

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? calc.num1=200

? ? ? ? calc.num2=20

? ? ? ? calc.jia()

? ? ? ? calc.jian()

? ? ? ? calc.cheng()

? ? ? ? calc.chu()

2.采用構(gòu)造函數(shù)的方式new一個對象

?// 構(gòu)造函數(shù);首先是個函數(shù),這個函數(shù)用來創(chuàng)建出對象

// 可以使用系統(tǒng)構(gòu)造函數(shù)object創(chuàng)建一個對象

? ? ? ? let obj= new Object()

? ? ? ? console.log(obj);

? ? ? ? let obj1 = {}

? ? ? ? console.log(obj1);

? ? ? ? console.log('-----------------------');

?//多數(shù)情況下,都是先自定義一個構(gòu)造函數(shù),再通過自定義的構(gòu)造函數(shù)創(chuàng)建出對應(yīng)的對象

?// 可以將構(gòu)造函數(shù)理解成:類

? ? ? ? function Student(no,name,age,sex) {

? ? ? ? ? ? this.no=no

? ? ? ? ? ? this.name=name

? ? ? ? ? ? this.age=age

? ? ? ? ? ? this.sex=sex

? ? ? ? }

// 通過類型構(gòu)造函數(shù)樂意創(chuàng)建出無數(shù)個對象

? ? ? ? let s1=new Student(1001,'張三',20,'男')

? ? ? ? console.log(s1);

? ? ? ? let s2=new Student(1002,'李四',19,'女')

? ? ? ? console.log(s2);

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容