Javascript 函数详解
Javascript 函數(shù)詳解
1)函數(shù)聲明:
通過(guò)關(guān)鍵字function定義,把函數(shù)作為變量來(lái)聲明
函數(shù)聲明后不會(huì)立即執(zhí)行,會(huì)在我們需要的時(shí)候調(diào)用到。
2)函數(shù)表達(dá)式:函數(shù)表達(dá)式可以存儲(chǔ)在變量中
var x = function (a, b) {return a * b}; var y = x(1, 2);3)Function() 構(gòu)造函數(shù):通過(guò)內(nèi)置函數(shù)構(gòu)造器Function()來(lái)定義。
let a = new Function('a', 'b', 'return a + b'); let b = a(1, 2); document.write(a); //function anonymous(a,b ) { return a + b } document.write(b); // 3 // 構(gòu)造函數(shù): function myFunction(arg1, arg2) {this.firstName = arg1;this.lastName = arg2; } var x = new myFunction("John","Doe"); x.firstName; // "John"4) 自調(diào)用函數(shù):表達(dá)式后面緊跟 () ,則會(huì)自動(dòng)調(diào)用
5)箭頭函數(shù): IE11 及更早 IE 版本不支持箭頭函數(shù)
箭頭函數(shù)表達(dá)式的語(yǔ)法比普通函數(shù)表達(dá)式更簡(jiǎn)潔
6) 函數(shù)是對(duì)象:
a) arguments: 隱式參數(shù)
arguments對(duì)象是所有(非箭頭)函數(shù)中都可用的局部變量。
可以使用arguments對(duì)象在函數(shù)中引用函數(shù)的參數(shù)。
arguments對(duì)象不是一個(gè) Array 。它類似于Array,但除了length屬性和索引元素之外沒(méi)有任何Array屬性
7)函數(shù)的參數(shù):(顯式參數(shù)),調(diào)用函數(shù)時(shí),傳遞的值就叫參數(shù),供在函數(shù)中使用。
多個(gè)參數(shù)由逗號(hào)(,)分隔;
c) 帶返回值的函數(shù):使用return語(yǔ)句返回值;執(zhí)行return時(shí)函數(shù)會(huì)停止執(zhí)行,并返回指定的值。
<script>function way(a, b) {return a + b;}let c = way(2, 3); // 5; </script> <script>function way(a, b) {return a > b;}let c = way(2, 3); // false; </script> <script>let c = 0;function way(a, b) {if (a < b) {return;};c = a + b;}let c = way(2, 3); // undefined;document.write(c); // 5 </script>8) 閉包:
閉包是指有權(quán)訪問(wèn)另一個(gè)函數(shù)作用域中變量的函數(shù),創(chuàng)建閉包的最常見的方式就是在一個(gè)函數(shù)內(nèi)創(chuàng)建另一個(gè)函數(shù),通過(guò)另一個(gè)函數(shù)訪問(wèn)這個(gè)函數(shù)的局部變量,利用閉包可以突破作用鏈域,將函數(shù)內(nèi)部的變量和方法傳遞到外部。
閉包的特性:
1.函數(shù)內(nèi)再嵌套函數(shù)
2.內(nèi)部函數(shù)可以引用外層的參數(shù)和變量
3.參數(shù)和變量不會(huì)被垃圾回收機(jī)制回收
閉包是一種保護(hù)私有變量的機(jī)制,在函數(shù)執(zhí)行時(shí)形成私有的作用域,保護(hù)里面的私有變量不受外界干擾。直觀的說(shuō)就是形成一個(gè)不銷毀的棧環(huán)境。
總結(jié)
以上是生活随笔為你收集整理的Javascript 函数详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 安卓 收起软件盘
- 下一篇: Java 基础——类和对象