欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

好程序員web前端學(xué)習(xí)路線分享web測試之Js中的函數(shù)

好程序員web前端學(xué)習(xí)路線分享web測試之Js中的函數(shù),在JS中,一般使用函數(shù)其實(shí)就是為了封裝某些操作,或者把編寫的程序進(jìn)行模塊化的操作。
一.函數(shù)的聲明方式
1.普通的函數(shù)聲明
function box(num1, num2) {
return num1+ num2;
}
2.使用變量初始化函數(shù)
var box= function(num1, num2) {
return num1 + num2;
};
3.使用Function構(gòu)造函數(shù)
var box= new Function('num1', 'num2' ,'return num1 + num2');
二.作為值的函數(shù)
ECMAScript中的函數(shù)名本身就是變量,所以函數(shù)也可以作為值來使用。也就是說,不僅可以像傳遞參數(shù)一樣把一個函數(shù)傳遞給另一個函數(shù),而且可以將一個函數(shù)作為另一個函數(shù)的結(jié)果返回。
function box(sumFunction, num) {
return sumFunction(num);
}
function sum(num) {
return num + 10;
}
var result = box(sum, 10);
三.函數(shù)內(nèi)部屬性
在函數(shù)內(nèi)部,有兩個特殊的對象:arguments和this。arguments是一個類數(shù)組對象,包含著傳入函數(shù)中的所有參數(shù),主要用途是保存函數(shù)參數(shù)。但這個對象還有一個名叫callee的屬性,該屬性是一個指針,指向擁有這個arguments對象的函數(shù)。
function box(num) {
if (num <= 1) {
return 1;
} else {
return num box(num-1);
}
}
對于階乘函數(shù)一般要用到遞歸算法,所以函數(shù)內(nèi)部一定會調(diào)用自身;如果函數(shù)名不改變是沒有問題的,但一旦改變函數(shù)名,內(nèi)部的自身調(diào)用需要逐一修改。為了解決這個問題,我們可以使用arguments.callee來代替。
function box(num) {
if (num <= 1) {
return 1;
} else {
return num
arguments.callee(num-1);
}
}
函數(shù)內(nèi)部另一個特殊對象是this,其行為與Java和C#中的this大致相似。換句話說,this引用的是函數(shù)據(jù)以執(zhí)行操作的對象,或者說函數(shù)調(diào)用語句所處的那個作用域。PS:當(dāng)在全局作用域中調(diào)用函數(shù)時,this對象引用的就是window。
window.color = '紅色的';
alert(this.color);
var box = {
color : '藍(lán)色的',
sayColor : function () {
alert(this.color);
}
};
box.sayColor();
alert(this.color);
四.函數(shù)屬性和方法
ECMAScript中的函數(shù)是對象,因此函數(shù)也有屬性和方法。每個函數(shù)都包含兩個屬性:length和prototype。其中,length屬性表示函數(shù)希望接收的命名參數(shù)的個數(shù)。
function box(name, age) {
alert(name + age);
}
alert(box.length);
function box(num1, num2) {
return num1 + num2;
}
function sayBox(num1, num2) {
return box.apply(this, [num1, num2]); }
function sayBox2(num1, num2) {
return box.apply(this, arguments);
}
alert(sayBox(10,10));
alert(sayBox2(10,10));
call()方法于apply()方法相同,他們的區(qū)別僅僅在于接收參數(shù)的方式不同。對于call()方法而言,第一個參數(shù)是作用域,沒有變化,變化只是其余的參數(shù)都是直接傳遞給函數(shù)的。
function box(num1, num2) {
return num1 + num2;
}
function callBox(num1, num2) {
return box.call(this, num1, num2);
}
alert(callBox(10,10));
var color = '紅色的';
var box = {
color : '藍(lán)色的'
};
function sayColor() {
alert(this.color);
}
sayColor();
sayColor.call(this);
sayColor.call(window);
sayColor.call(box);
當(dāng)我們使用call(box)方法的時候,sayColor()方法的運(yùn)行環(huán)境已經(jīng)變成了box對象。
使用call()或者apply()來擴(kuò)充作用域的最大好處,就是對象不需要與方法發(fā)生任何耦合關(guān)系耦合,就是互相關(guān)聯(lián)的意思,擴(kuò)展和維護(hù)會發(fā)生連鎖反應(yīng)。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了縉云免費(fèi)建站歡迎大家使用!

文章題目:好程序員web前端學(xué)習(xí)路線分享web測試之Js中的函數(shù)
當(dāng)前網(wǎng)址:http://aaarwkj.com/article6/phddog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、網(wǎng)站建設(shè)、做網(wǎng)站、營銷型網(wǎng)站建設(shè)、微信公眾號企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
国产av高清视频在线| 99久久免费看国产精品| 亚洲av成人一区二区三区 | 欧美一区二区三区东京热| 亚洲天堂精品日韩电影| 欧美激情另类综合国内| 午夜福利视频一区久久久| 亚洲香蕉在线视频免费| 日韩国产精品一区二区| 国产精品粉嫩在线播放| 欧美日韩国产精品久久乐播| 免费精品黑人一区二区三区| 成人免费视频国产免费| 中文字幕欧美精品日韩人妻| 国产欧美日韩精品av| 青青草最新网址在线观看视频| 亚洲另类综合日韩一区| 精品视频偷拍一区二区三区| 国内精品自拍亚洲视频| 伊人不卡中文字幕在线一区| 水蜜桃成人在线视频免费观看| 天天操天天射夜夜爽| 日韩欧美国产精品自拍| 不卡在线视频中文字幕| 精品人妻中文字幕一区有码| 亚洲不卡在线免费av| 视频一区二区日韩不卡| 精品一区二区三区在线观看国产 | 91老熟女露脸嗷嗷叫| 五月婷婷亚洲激情综合网| 中文字幕乱码亚洲中文在线| 亚洲熟女乱妇爽到高潮| 国产亚洲一区二区高清| 亚洲一区欧美二区日韩| 久久精品国产亚洲av高清观看| 一本综合九九国产二区| 在线观看免费国产不卡| 日韩一区二区免费看视频| 久久精品国产亚洲av高清一区| 日韩一区二区高清看片| av天堂中文一区二区三区|