成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

初步認(rèn)識(shí)函數(shù)

Rango / 1782人閱讀

摘要:函數(shù)對(duì)象連接到。好處有助于確保全局名字空間的純凈性私有性保留了自己的函數(shù),不為外部應(yīng)用程序所用返回自己的函數(shù)函數(shù)始終有一個(gè)返回值,即便不是顯示返回,它們會(huì)隱式返回一個(gè)。

函數(shù) 概念:

函數(shù)包含一組語(yǔ)句,它們是javaScript基礎(chǔ)模塊單元,用于代碼復(fù)用、信息隱藏和組合調(diào)用。用于指定對(duì)象的行為。

函數(shù)對(duì)象:

javascrtipt中的函數(shù)就是對(duì)象。對(duì)象是‘名/值’對(duì)的集合并擁有一個(gè)連到原型對(duì)象的隱藏連接。 對(duì)象字面量產(chǎn)生產(chǎn)生的對(duì)象連接到Object.prototype。函數(shù)對(duì)象連接到Function.prototype。每個(gè)函數(shù)在創(chuàng)建時(shí)會(huì)附加兩個(gè)屬性,函數(shù)的上下文和函數(shù)實(shí)現(xiàn)的代碼

函數(shù)定義

有三種方式可以定義函數(shù)

 1. 使用函數(shù)聲明語(yǔ)法·定義函數(shù)
function sum(sum1,sum2){
            return num1+num2; 
}
 2.  使用函數(shù)表達(dá)式定義函數(shù):
var sum = function(sum1, sum2){
            return num1+num2;
}
3. 構(gòu)造函數(shù)
function Person() {
    this.name = "a";
    return;
}
函數(shù)參數(shù):

當(dāng)函數(shù)被調(diào)用時(shí),會(huì)得到一個(gè)“免費(fèi)”分配的參數(shù):argument數(shù)組。函數(shù)可以通過(guò)此參數(shù)訪問(wèn)所有它被調(diào)用時(shí)傳遞給它的參數(shù)列表,包括那些沒(méi)有被分配給函數(shù)聲明時(shí)定義的形式參數(shù)。它只是一個(gè)類(lèi)數(shù)組,擁有一個(gè)Length屬性,但沒(méi)有數(shù)組的任何方法。

//可以不指定參數(shù)個(gè)數(shù)
function add(){
    var sum = 0;
    for(var i = 0, l = arguments.length; i < l; i++){
        sum += arguments[i];
    }
    return sum;
}
add(1,2,3);//6
函數(shù)返回:

return可以用來(lái)使函數(shù)提前返回,如果沒(méi)有指定,則返回undefined。
如果函數(shù)調(diào)用時(shí)在前面加上new前綴,且返回值不是一個(gè)對(duì)象,則返回this(該新對(duì)象)。

函數(shù)調(diào)用:

javaScript一共有4中調(diào)用模式:方法調(diào)用模式,函數(shù)調(diào)用模式,構(gòu)造器調(diào)用模式和apply調(diào)用模式。

調(diào)用運(yùn)算符是函數(shù)表達(dá)式后的一對(duì)圓括號(hào)。

方法調(diào)用模式
當(dāng)函數(shù)被保存為對(duì)象屬性時(shí),稱他為一個(gè)方法。當(dāng)一個(gè)方法被調(diào)用時(shí),this被綁定到該對(duì)象。

var myObject = {
    value:0,
    increment:function(inc){
        this.value += typeof inc === "number"?inc:1;
    }
};
myObject.increment(2);
myObject.value//3

?函數(shù)調(diào)用模式
當(dāng)函數(shù)并非一個(gè)對(duì)象的屬性時(shí),就是當(dāng)作函數(shù)調(diào)用的

var sum = add(1,2);

構(gòu)造器調(diào)用模式

//創(chuàng)建一個(gè)名為Quo的構(gòu)造函數(shù)。構(gòu)造一個(gè)帶有status的屬性
var Quo = function(string){
    this.status = string;
};
//給Quo的所有實(shí)例提供一個(gè)名為get_status的公共方法。
Quo.prototype.get_status = function(){
    return this.status;  
};
//構(gòu)建一個(gè)Quo的實(shí)例
var myQuo = new Quo("confused");
document.writeln(myQuo.get_status());//confused

? apply調(diào)用模式

因?yàn)閖avaScript是一門(mén)函數(shù)式的面對(duì)對(duì)象編程語(yǔ)言,所以函數(shù)可以擁有方法。

apply方法讓我們構(gòu)建一個(gè)參數(shù)數(shù)組傳遞給調(diào)用函數(shù)。它允許我們選擇this值。apply方法接收兩個(gè)參數(shù),第一個(gè)是要綁定給this的值,第二個(gè)是參數(shù)數(shù)組。

// 構(gòu)造一個(gè)包含兩個(gè)數(shù)字的數(shù)組,并把它們相加
var statusObject = {
    status:"A-Ok"
};
var status = Quo.prototype.get_status.apply(statusObject);
匿名函數(shù):
function(a){
    return a;
}   

用法;

將匿名函數(shù)作為參數(shù)傳遞給其他函數(shù)。這樣接收方函數(shù)就你利用我們所傳遞的函數(shù)來(lái)完成一些事情。(也就是回調(diào)函數(shù))

定義某個(gè)匿名函數(shù)來(lái)執(zhí)行某些一次性任務(wù)。(也就是自調(diào)函數(shù))

回調(diào)函數(shù):

把函數(shù)當(dāng)成參數(shù)傳遞給其他函數(shù)

//add就是回調(diào)函數(shù),如果add為匿名函數(shù),就稱它為匿名回調(diào)函數(shù)
function add(a,b){
    return a() + b ();
}
function a(){
    return 1;
}
function b(){
    return 2;
}
add(a,b);//3
自調(diào)函數(shù):

自行調(diào)用的函數(shù):

(function(){
    alert("foo");
})()//第二對(duì)括號(hào)起到立即調(diào)用的作用,同時(shí)也是傳遞參數(shù)的地方

好處:使用自調(diào)匿名函數(shù)不會(huì)產(chǎn)生任何全局變量。但也無(wú)法重復(fù)執(zhí)行。比較適合執(zhí)行一些一次性或初始化的任務(wù)。

function a(param){
    function b(theinput){
        return theinput*2; 
    }
    return "The result is " + b(param);
} 
a(2);//The result is 4
b(2);//b is not define

好處:

有助于確保全局名字空間的純凈性

私有性:保留了自己的函數(shù),不為外部應(yīng)用程序所用

返回自己的函數(shù):

函數(shù)始終有一個(gè)返回值,即便不是顯示返回,它們會(huì)隱式返回一個(gè)undefined。也可能是返回另一個(gè)函數(shù)。

function a(){
    alert("A!");
    return function(){
        alert("B!");
    }
}
a()();//可以直接加上括號(hào)執(zhí)行
能重寫(xiě)自己的函數(shù):

由于一個(gè)函數(shù)可以返回另一個(gè)函數(shù),因此我們也可以用新的函數(shù)來(lái)覆蓋舊的。

function a(){
    alert("A!");
    a = function(){
        alert("B!");
    };
}
這樣一來(lái),第一次調(diào)用該函數(shù)時(shí):
alert("A!")會(huì)被執(zhí)行(可以看為一次性的操作)
全局變量會(huì)被重新定義,被賦予新的函數(shù)
如果再次被調(diào)用將執(zhí)行alert("B!");

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/91010.html

相關(guān)文章

  • JavaScript面向?qū)ο?em>初步認(rèn)識(shí)

    摘要:一面向?qū)ο蟪醪秸J(rèn)識(shí)什么是對(duì)象一句話解釋萬(wàn)物皆對(duì)象對(duì)象是有屬性的用來(lái)寫(xiě)入對(duì)象的應(yīng)用接口接口簡(jiǎn)單的說(shuō)就是后臺(tái)提供給前端提供數(shù)據(jù)的,讓我們進(jìn)行渲染請(qǐng)求接口的時(shí)候我們會(huì)用到一個(gè)函數(shù)小例子代碼如下背心吊帶無(wú)袖打底衫內(nèi)搭 一、面向?qū)ο蟪醪秸J(rèn)識(shí) 1.什么是對(duì)象? 一句話解釋: 萬(wàn)物皆對(duì)象 對(duì)象是有屬性的:用{ }來(lái)寫(xiě)入! 2.對(duì)象的應(yīng)用(接口) jsonshowImg(https://segment...

    selfimpr 評(píng)論0 收藏0
  • JavaScript面向?qū)ο?em>初步認(rèn)識(shí)

    摘要:一面向?qū)ο蟪醪秸J(rèn)識(shí)什么是對(duì)象一句話解釋萬(wàn)物皆對(duì)象對(duì)象是有屬性的用來(lái)寫(xiě)入對(duì)象的應(yīng)用接口接口簡(jiǎn)單的說(shuō)就是后臺(tái)提供給前端提供數(shù)據(jù)的,讓我們進(jìn)行渲染請(qǐng)求接口的時(shí)候我們會(huì)用到一個(gè)函數(shù)小例子代碼如下背心吊帶無(wú)袖打底衫內(nèi)搭 一、面向?qū)ο蟪醪秸J(rèn)識(shí) 1.什么是對(duì)象? 一句話解釋: 萬(wàn)物皆對(duì)象 對(duì)象是有屬性的:用{ }來(lái)寫(xiě)入! 2.對(duì)象的應(yīng)用(接口) jsonshowImg(https://segment...

    kbyyd24 評(píng)論0 收藏0
  • JavaScript面向?qū)ο?em>初步認(rèn)識(shí)

    摘要:一面向?qū)ο蟪醪秸J(rèn)識(shí)什么是對(duì)象一句話解釋萬(wàn)物皆對(duì)象對(duì)象是有屬性的用來(lái)寫(xiě)入對(duì)象的應(yīng)用接口接口簡(jiǎn)單的說(shuō)就是后臺(tái)提供給前端提供數(shù)據(jù)的,讓我們進(jìn)行渲染請(qǐng)求接口的時(shí)候我們會(huì)用到一個(gè)函數(shù)小例子代碼如下背心吊帶無(wú)袖打底衫內(nèi)搭 一、面向?qū)ο蟪醪秸J(rèn)識(shí) 1.什么是對(duì)象? 一句話解釋: 萬(wàn)物皆對(duì)象 對(duì)象是有屬性的:用{ }來(lái)寫(xiě)入! 2.對(duì)象的應(yīng)用(接口) jsonshowImg(https://segment...

    jonh_felix 評(píng)論0 收藏0
  • PHP函數(shù)式編程的初步認(rèn)識(shí)

    摘要:函數(shù)式編程不是一個(gè)框架或工具,而是一種編寫(xiě)代碼的方式。函數(shù)式編程首先是一個(gè)聲明式編程范例。舉個(gè)例子純函數(shù)函數(shù)式編程基于的前提是您將基于純函數(shù)構(gòu)建不可變的程序作為業(yè)務(wù)邏輯的構(gòu)建塊。 showImg(https://segmentfault.com/img/remote/1460000012402865?w=693&h=339); 最近朋友推薦這本書(shū):Functional PHP ,很多對(duì)...

    wwq0327 評(píng)論0 收藏0
  • 初步認(rèn)識(shí)pug

    摘要:一初步認(rèn)識(shí)所謂的就是我們之前說(shuō)的也就是一種通過(guò)縮進(jìn)的方式來(lái)編寫(xiě)代碼的過(guò)程,在編譯的過(guò)程中,我們不需要考慮標(biāo)簽是否閉合的問(wèn)題。使用縮進(jìn)來(lái)表示標(biāo)簽間的嵌套關(guān)系,這樣可以構(gòu)建一個(gè)代碼的樹(shù)狀結(jié)構(gòu)持續(xù)更新,歡迎大家指教 一、初步認(rèn)識(shí)pug 1.所謂的pug就是我們之前說(shuō)的jade,也就是一種通過(guò)縮進(jìn)的方式來(lái)編寫(xiě)代碼的過(guò)程,在編譯的過(guò)程中,我們不需要考慮標(biāo)簽是否閉合的問(wèn)題。此外,用這種編譯方式,加...

    anRui 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<