關(guān)于函數(shù)的概念知識以及一些案例的總結(jié)

關(guān)于函數(shù)的基礎(chǔ)知識以及一些案例的總結(jié)

<!DOCTYPE?html>

<html?lang="en">

<head>

<meta?charset="UTF-8">

<meta?name="viewport"?content="width=device-width, initial-scale=1.0">

<meta?http-equiv="X-UA-Compatible"?content="ie=edge">

<title>Document</title>

</head>

<body>

</body>

<script>

//函數(shù)

// 概念:由一堆代碼組成肠骆,實現(xiàn)一些特定的功能,通過函數(shù)自身和一些事件實現(xiàn)

//函數(shù)的創(chuàng)建

// 1,聲明式

// function fn(){}

// function:聲明函數(shù)的關(guān)鍵字

// fn:函數(shù)名

// ():存放函數(shù)的形參

// {}函數(shù)體收班,函數(shù)的執(zhí)行語句

// fn() 函數(shù)的執(zhí)行


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

// function fn(a){

// console.log(a);

// a(function(c){

// console.log("hello")

// c();

// })

// }

// fn(function(b){

// console.log(b);

// b(function(){

// console.log("腦袋疼")

// })

// })

// fn()將function(b){console.log(b)}作為實參傳給了函數(shù)fn 此時(a)接受到的相當于a=function.log(b){console.log(b)}

// 這就相當于一個新的函數(shù)a;此時執(zhí)行a()相當于執(zhí)行函數(shù)a故痊,如果實參a()里面還是一個新的函數(shù),那個就相當于創(chuàng)建了一個新的函數(shù)b,就是b=function(c){console.log("hello")}

// 這樣子執(zhí)行b()執(zhí)行了函數(shù)b 得到了hello的值


// 函數(shù)的實參與形參的關(guān)系

// 1看靠,實參與形參之間一一對應(yīng)

// 2赶促,當實參多余形參時,實參存放在arguments中

// 3挟炬,當形參多余實參時鸥滨,多余的形參為underfind,因為這些形參聲明了但未經(jīng)過實參的賦值


// arguments的用法:

// 定義:arguments是函數(shù)中的一個數(shù)組谤祖,專門用來存放函數(shù)中的實參婿滓,只有在函數(shù)中才能獲取

// demo:

// 1.任意個數(shù)字的和

// function fn(){

// var sum=0;

// for(var i=0;i<arguments.length;i++){ //注意:這里的i代表的不是數(shù)組,而是由arguments 數(shù)組的序列號 由0 開始到arguments.length-1;

// sum+=arguments[i]

// }

// console.log(sum);

// }

// fn(3,2,34,36,242);


// demo:

// 1.讓三個不同大小的數(shù)字粥喜,按照由大到小的順序依次打印出

// function fn(a,b,c){

// if(a>b&&a>c){

// if(b>c){

// console.log(a,b,c);

// }else{

// console.log(a,c,b);

// }

// }else if(b>a&&b>c){

// if(a>c){

// console.log(b,a,c);

// }else{

// console.log(b,c,a);

// }

// }else if(c>a&&c>b){

// if(a>b){

// console.log(c,a,b);

// }else{

// console.log(c,b,a);

// }

// }

// }

// fn(7,4,6)


// 作用域:變量生效的區(qū)域

// 作用域的分類:

// 全局:整個代碼的區(qū)域

// 局部:一個函數(shù)就是一個局部

// 全局作用域下的變量叫做全局變量

// 局部作用域下的變量叫做局部變量

// 函數(shù)的形參也是一個變量凸主,函數(shù)是一個局部作用域,所以形參是一個局部變量


// 變量的生命周期:

// 全局變量:一直存在额湘,隨時可以被取用

// 局部變量:隨著函數(shù)的運行開始而開始卿吐,函數(shù)的結(jié)束而結(jié)束


// 提升:

// 1,變量的提升锋华;使用var聲明的變量嗡官,會提升到當前作用域開始的位置,被聲明供置,在原位賦值

// 2谨湘,函數(shù)的提升:只要使用function聲明的函數(shù),都會整體提升芥丧,在當前作用域內(nèi)都可以被使用

// 但是使用賦值式創(chuàng)建的函數(shù)紧阔,提升的是聲明,而不是函數(shù)


// 當函數(shù)名與變量同名時续担,變量會在函數(shù)上面的位置擅耽,導(dǎo)致函數(shù)生效;

function?fn(){

console.log(a); //f2

var?a = "hello";

console.log(a); //"hello"

function?a(){1}

console.log(a); //"hello"

a = "world";

console.log(a); //"world"

function?a(){2}

console.log(a); //"world"

}

// 以上的式子相當于

// function fn(){

// var a;

// function a(){1}

// function a(){2}

// console.log(a); //f2

// a = "hello";

// console.log(a); //"hello"

// console.log(a); //"hello"

// a = "world";

// console.log(a); //"world"

// console.log(a); //"world"

// }

// fn();


// 重點N镉觥乖仇!函數(shù)的遞歸:

// 遞歸實質(zhì)上就是一個死循環(huán)憾儒,重要的是他的停止條件,這時就需要return來幫助函數(shù)終止運行

// demo:

// 1.計算5的階乘

// function fn(n){

// if(n==1){

// return 1;

// }else{

// return n*fn(n-1);

// }

// }

// console.log(fn(3));


// 2.用遞歸計算1,1,2,3,5,8,13....

// function fn(n){

// if(n==1||n==2){

// return 1;

// }else{

// return fn(n-2)+fn(n-1);

// }

// }

// console.log(fn(3));

// 3.求一個數(shù)的最大公約數(shù)

// function fn(m,n){

// var r=m%n;

// m=n;

// n=r;

// if(r==0){

// return m;

// }else{

// return fn(m,n);

// }

// }

// console.log(fn(24,6));


// 遞歸的總結(jié)乃沙,遞歸是一個遞和歸的過程起趾,在歸的過程中,判斷遞的條件警儒,不成立的話將fn(m,n)再進入到函數(shù)中

// 執(zhí)行一次训裆;

// 遞歸實質(zhì)上就是一個死循環(huán)

// 遞歸的樣式如下

// function fn(){

// fn();

// }

// fn();

// 所以說,讓遞歸停止的條件很重要


// 構(gòu)造函數(shù):

// 構(gòu)造函數(shù)是一種函數(shù)的存儲方式


// 數(shù)據(jù)的存儲方式:

// 1蜀铲,字面量 var a=123;

// 2,構(gòu)造函數(shù)边琉,var b=new Number(123);


// 重點 對象:對象是對事物的描述

// 對象的作用是存儲數(shù)據(jù)

// 對象的實質(zhì)就是鍵值對(屬性:屬性值)

// 鍵值對之間用,隔開

// 對象中的屬性叫做屬性

// 對象中的函數(shù)叫做方法名

// 語法:對象.屬性(方法名)

</script>

</html>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末记劝,一起剝皮案震驚了整個濱河市变姨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌厌丑,老刑警劉巖定欧,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蹄衷,居然都是意外死亡忧额,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進店門愧口,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人类茂,你說我怎么就攤上這事耍属。” “怎么了巩检?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵厚骗,是天一觀的道長。 經(jīng)常有香客問我兢哭,道長领舰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任迟螺,我火速辦了婚禮冲秽,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘矩父。我一直安慰自己锉桑,他們只是感情好,可當我...
    茶點故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布窍株。 她就那樣靜靜地躺著民轴,像睡著了一般攻柠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上后裸,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天瑰钮,我揣著相機與錄音,去河邊找鬼微驶。 笑死飞涂,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的祈搜。 我是一名探鬼主播较店,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼容燕!你這毒婦竟也來了梁呈?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤蘸秘,失蹤者是張志新(化名)和其女友劉穎官卡,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體醋虏,經(jīng)...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡寻咒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了颈嚼。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片毛秘。...
    茶點故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖阻课,靈堂內(nèi)的尸體忽然破棺而出叫挟,到底是詐尸還是另有隱情,我是刑警寧澤限煞,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布抹恳,位于F島的核電站,受9級特大地震影響署驻,放射性物質(zhì)發(fā)生泄漏奋献。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一旺上、第九天 我趴在偏房一處隱蔽的房頂上張望瓶蚂。 院中可真熱鬧,春花似錦抚官、人聲如沸扬跋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钦听。三九已至洒试,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間朴上,已是汗流浹背垒棋。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留痪宰,地道東北人叼架。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像衣撬,于是被迫代替她去往敵國和親乖订。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,689評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Lua 5.1 參考手冊 by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 13,791評論 0 38
  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些閱讀 2,030評論 0 2
  • 通常來說具练,一個函數(shù)就是一個可以被外部代碼調(diào)用(或函數(shù)本身遞歸調(diào)用)的“子程序”乍构。和程序本身一樣,一個函數(shù)的函數(shù)體是...
    betterwlf閱讀 484評論 0 0
  • 1.函數(shù)聲明和函數(shù)表達式有什么區(qū)別 (*) 區(qū)別: 函數(shù)聲明后面的分號可加可不加扛点,不加也不影響接下來語句的執(zhí)行哥遮,但...
    Sheldon_Yee閱讀 399評論 0 1
  • 單例模式 適用場景:可能會在場景中使用到對象,但只有一個實例陵究,加載時并不主動創(chuàng)建眠饮,需要時才創(chuàng)建 最常見的單例模式,...
    Obeing閱讀 2,065評論 1 10