js3

JavaScript函數(shù)

1.什么是函數(shù)?

函數(shù)是完成指定任務(wù)的已命名的代碼塊。函數(shù)的本質(zhì)就是一段代碼。函數(shù)就是一個(gè)功能


2.函數(shù)的作用?

???(1)提高開發(fā)效率(提高工作效率)

(2)降低軟件的復(fù)雜度(減少代碼量)

(3)降低項(xiàng)目的維護(hù)成本(便于后期維護(hù))

(4)提高代碼重用性(重用性高)

3.函數(shù)的分類?

???系統(tǒng)函數(shù),系統(tǒng)幫我們定義好的函數(shù)叫做系統(tǒng)函數(shù),這種函數(shù)不需要自己定義,只需調(diào)用即可

如alert() ???document.write() ??console.log() ??prompt() ?Math.random()

4.如何聲明(定義)一個(gè)函數(shù)

??(1) 使用function關(guān)鍵字聲明

function函數(shù)名(形參可以有0,1或多個(gè)){

函數(shù)要執(zhí)行的代碼體

?????}

(2)匿名函數(shù),就是沒有名字的函數(shù)。在調(diào)用的時(shí)候與聲明函數(shù)一樣

var變量名 = function(){

? 函數(shù)要執(zhí)行的代碼體

}

(3)使用構(gòu)造函數(shù)

var變量名 = new Function(參數(shù),參數(shù),函數(shù)體);

5.函數(shù)的調(diào)用

???因?yàn)楹瘮?shù)聲明后,并不會(huì)執(zhí)行,要想讓函數(shù)執(zhí)行,必須調(diào)用。

???(1)調(diào)用的方法

如果采用第一種方式聲明的函數(shù),調(diào)用方式是函數(shù)名();

如果采用第二種方式聲明的函數(shù),調(diào)用方式是變量名();

如果采用第三種方式聲明的函數(shù),調(diào)用方式是變量名();

(2)調(diào)用的位置

如果采用第一種聲明方式,函數(shù)的調(diào)用位置可以在聲明之前

如果采用第二種聲明方式,函數(shù)的調(diào)用必須放在聲明之后

如果采用第三種聲明方式,函數(shù)的調(diào)用必須放在聲明之后

?6.函數(shù)的本質(zhì)

???函數(shù)的調(diào)用本質(zhì)上就是執(zhí)行函數(shù)定義中的代碼體,執(zhí)行完后,返回到函數(shù)調(diào)用的位置繼續(xù)執(zhí)行。

???

?7.函數(shù)名的命名要求?

命名要求數(shù)字字母下劃線,首字母不能為數(shù)字,嚴(yán)格區(qū)分大小寫,且不能使用關(guān)鍵字

?8.函數(shù)的特點(diǎn)

???函數(shù)可以重復(fù)調(diào)用

函數(shù)可以在聲明之前調(diào)用

9.函數(shù)的參數(shù)

(1)形參的個(gè)數(shù) == 實(shí)參的個(gè)數(shù),參數(shù)依次給形參賦值

(2)形參的個(gè)數(shù) < 實(shí)參的個(gè)數(shù),實(shí)參依次給形參賦值,多余的實(shí)參不要

(3)形參的個(gè)數(shù) > 實(shí)參的個(gè)數(shù),只給有限個(gè)形參賦值,有形參未賦值(這種情況要避免)

10.函數(shù)的返回值

?????函數(shù)還可以分為執(zhí)行函數(shù)和返回值函數(shù)

返回值函執(zhí)行函數(shù):只執(zhí)行功能代碼,沒有返回值

數(shù):函數(shù)執(zhí)行完后,返回一個(gè)值

函數(shù)的返回值通過return得到,如果函數(shù)內(nèi)部有return, return什么, 函數(shù)就返回什么;如果函數(shù)內(nèi)部沒有return,函數(shù)的返回值就是undefined.

return在函數(shù)中有兩個(gè)作用,第一個(gè)是返回函數(shù)的返回值,第二個(gè)是終止函數(shù)的執(zhí)行

?11.作用域

??作用域就是起作用的范圍,是個(gè)大小范圍的概念。

???根據(jù)作用域的不同,可以將變量分為兩類:局部變量全局變量

局部變量,就是在函數(shù)內(nèi)部定義的變量,局部變量的作用域是函數(shù)內(nèi)部

全局變量,在函數(shù)外部定義的變量叫全局變量,全局變量的作用域從定義變量的位置開始到整個(gè)代碼結(jié)束的區(qū)間的函數(shù)的內(nèi)部和外部。


總結(jié)作用域:

1.變量的作用域:

作用域:變量和函數(shù)的可訪問范圍

作用域可分為:

(1)全局作用域:一經(jīng)定義代碼的任何位置都可以訪問

(2)局部作用域:只能在當(dāng)前函數(shù)內(nèi)訪問


??2.函數(shù)作用域的變量

將變量或函數(shù)聲明在某函數(shù)內(nèi),有效范圍就在該函數(shù)中,出了該函數(shù),變量或函數(shù)就失效

3.全局作用域的變量

將變量定義在獨(dú)立于任何function的位置處(中),在代碼的任何位置都可以訪問到

(1)獨(dú)立于任何 function 聲明變量

(2)函數(shù)中,通過不寫var的方式聲明全局變量


4.注意

(1)全局變量和局部變量沖突時(shí),優(yōu)先使用的是 局部變量


5.聲明提前:

js程序正式執(zhí)行前,會(huì)把所有var聲明的變量預(yù)讀到所在作用域的頂部。但對變量的賦值依然保留在原位置


一:運(yùn)算符和表達(dá)式

1.三目運(yùn)算符(三元運(yùn)算符)


表達(dá)式1?:表達(dá)式2:表達(dá)式3;

表達(dá)式1的值應(yīng)該為boolean類型的值

如果表達(dá)式1的值為true,那么表達(dá)式2作為整個(gè)表達(dá)式的結(jié)果

如果表達(dá)式1的值為false,那么表達(dá)式3做為整個(gè)表達(dá)式的結(jié)果



+= -+ *= /= ?%=

var a=3;

a+=5;

console.log(a);

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

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

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,619評論 0 13
  • Lua 5.1 參考手冊 by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 14,264評論 0 38
  • 全世界都希望我飛得更高,而你卻心疼我受傷的翅膀。此刻,這句話感動(dòng)著我…… 我想飛,飛得更高更遠(yuǎn)都在...
    張瀟文zxw閱讀 294評論 0 1
  • 七律/白雪彩葉芋 作者:心博、圖片:網(wǎng)絡(luò) 難得偷閑植物園,風(fēng)清甘爽鳥寒暄。 風(fēng)光旖旎植株貌,色彩斑斕花草繁。 忽見...
    心博1閱讀 1,410評論 0 1
  • 1、利用padding實(shí)現(xiàn)內(nèi)容垂直居中 2、絕對定位 在塊元素上添加絕對定位屬性和負(fù)margin,如果不是塊元素可...
    8d2855a6c5d0閱讀 385評論 0 0

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