日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Javascript 函数详解

發(fā)布時間:2023/12/9 java 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Javascript 函数详解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Javascript 函數(shù)詳解

1)函數(shù)聲明:
通過關鍵字function定義,把函數(shù)作為變量來聲明
函數(shù)聲明后不會立即執(zhí)行,會在我們需要的時候調用到。

<script>function myFunction(a, b) {return a * b;}// js對大小寫敏感,function必須小寫,調用時大小寫也必須一致。// 函數(shù)聲明不是一個可執(zhí)行語句,所以不 以分號結尾。 </script>

2)函數(shù)表達式:函數(shù)表達式可以存儲在變量中

var x = function (a, b) {return a * b}; var y = x(1, 2);

3)Function() 構造函數(shù):通過內置函數(shù)構造器Function()來定義。

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 // 構造函數(shù): function myFunction(arg1, arg2) {this.firstName = arg1;this.lastName = arg2; } var x = new myFunction("John","Doe"); x.firstName; // "John"

4) 自調用函數(shù):表達式后面緊跟 () ,則會自動調用

5)箭頭函數(shù): IE11 及更早 IE 版本不支持箭頭函數(shù)
箭頭函數(shù)表達式的語法比普通函數(shù)表達式更簡潔

(參數(shù)1, 參數(shù)2,, 參數(shù)N) => { 函數(shù)聲明 }(參數(shù)1, 參數(shù)2,, 參數(shù)N) => 表達式(單一) // 相當于:(參數(shù)1, 參數(shù)2, …, 參數(shù)N) =>{ return 表達式; }// ES5 var x = function(x, y) {return x * y; } // ES6 const x = (x, y) => x * y; (function () {var x = "Hello!!"; // 我將調用自己 })();

6) 函數(shù)是對象:
a) arguments: 隱式參數(shù)
arguments對象是所有(非箭頭)函數(shù)中都可用的局部變量。
可以使用arguments對象在函數(shù)中引用函數(shù)的參數(shù)。
arguments對象不是一個 Array 。它類似于Array,但除了length屬性和索引元素之外沒有任何Array屬性

7)函數(shù)的參數(shù):(顯式參數(shù)),調用函數(shù)時,傳遞的值就叫參數(shù),供在函數(shù)中使用。
多個參數(shù)由逗號(,)分隔;

<script>function way(a, b) {alert(a + b);}way(2, 3); </script>

c) 帶返回值的函數(shù):使用return語句返回值;執(zhí)行return時函數(shù)會停止執(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) 閉包:
閉包是指有權訪問另一個函數(shù)作用域中變量的函數(shù),創(chuàng)建閉包的最常見的方式就是在一個函數(shù)內創(chuàng)建另一個函數(shù),通過另一個函數(shù)訪問這個函數(shù)的局部變量,利用閉包可以突破作用鏈域,將函數(shù)內部的變量和方法傳遞到外部。

閉包的特性:
1.函數(shù)內再嵌套函數(shù)
2.內部函數(shù)可以引用外層的參數(shù)和變量
3.參數(shù)和變量不會被垃圾回收機制回收

var add = (function () {var counter = 0;return function () {return counter += 1;} })();add(); add(); add(); // 計數(shù)器為 3 //li節(jié)點的onclick事件都能正確的彈出當前被點擊的li索引<ul id="testUL"><li> index = 0</li><li> index = 1</li><li> index = 2</li><li> index = 3</li> </ul> <script type="text/javascript">var nodes = document.getElementsByTagName("li");for(i = 0;i<nodes.length;i+= 1){nodes[i].onclick = function(){console.log(i+1);//不用閉包的話,值每次都是4}(i);} </script>

閉包是一種保護私有變量的機制,在函數(shù)執(zhí)行時形成私有的作用域,保護里面的私有變量不受外界干擾。直觀的說就是形成一個不銷毀的棧環(huán)境。

總結

以上是生活随笔為你收集整理的Javascript 函数详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。