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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

js 默认的参数、可变的参数、变量作用域

發布時間:2025/6/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js 默认的参数、可变的参数、变量作用域 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

可以通過arguments對象來實現可變的參數

在函數代碼中,使用特殊對象 arguments,開發者無需明確指出參數名,就能訪問它們。

arguments是一個數組對象,可以通過下標來實別參數的位置,通過.length來獲參數的個數。

代碼實例:我們通過arguments來改變函數的默認參數

1 <script> 2 function demo(x,y){ 3 x = arguments[0]?arguments[0]:1; //arguments[0]代表demo函數的參數第一個 4 y = arguments[1]?arguments[1]:2; //arguments[1]代表demo函數的參數第二個 5 return x+y 6 } 7 alert(demo(4,5)) //我們調用函數的參數=>9 8 alert(demo()) //我們調用默認參數 =>3 9 </script>

代碼實例:通過arguments.length來獲取參數的長度所實現的參數和

1 <script> 2 function demo(){ 3 var count = arguments.length //把參數的長度保存的count的變量中 4 var sum =0 //聲名一個總和的變量 5 for(var i =0;i<count;i++){ //使用for循環把所有參數的長度遍歷出來 6 sum+=arguments[i] //求出每個arguments所對應下標的參數的值相加 7 } 8 return sum //把值返回給函數 9 } 10 alert(demo(1,2,3,4,5,6)) //=>把自己定義的參數傳入,=>21 11 </script>

代碼實例:通過arguments.length再來獲取參數的長度所實現的參數最大值

?

1 <script> 2 function demo(){ 3 var count = arguments.length //把參數的長度保存的count的變量中 4 var max =0 //聲名一個最大值 5 for(var i =0;i<count;i++){ //使用for循環把所有參數的長度遍歷出來 6 if(arguments[i]>max){ //做一個if語句的判斷,遍歷出來所有最大值依次給與max,直接便利結束 7 max = arguments[i] 8 } 9 } 10 return max //把值返回給函數 11 } 12 alert(demo(10,20,1,4,11)) //=>把自己定義的參數傳入,=>20 13 </script>

?

?變量的作用域:

?全局變量和局部變量的區別:

?全局在函數體外聲名,從腳開始可以用到腳本結束。

?局部變量在函數體內聲名變量只能在函數體內進行使用。

代碼示例:

?

1 <script> 2 var x = "全局變量x"; 3 function demo(){ 4 var x = "局部變量x"; 5 alert(x) 6 } 7 demo() //=>先是彈出局布變量x,因為我們調用函數執行代碼塊,因為x是在函數體內聲名的與全局變量不沖突 8 alert(x) //=>再是彈出全局變量x,因為我們是在函數體外alert(x),只能調用到全局函數的變量,當函數執行完成,自動會回收掉函數體的內容 9 </script>

?

最好使用var語句來聲名變量:

代碼示例 :

?

1 <script> 2 var x =1 3 function demo(){ 4 x =2 //如果函數體內變量沒有加var關鍵字,則這個變量則自動變為全局變量 5 alert(x) 6 } 7 demo() //=>輸出結果為2 8 alert(x) //=>此時輸出結果也為2,因為函數體內的變量用的是全局變量,變量重名賦值時會被覆蓋掉 9 </script>

?

用一段混合型的代碼示列來全面解析全局變量和局部變量

?

1 <script> 2 //解析一下全局變量和局部變量 3 var x = 1,y =2; //這是在script腳本內,函數體外聲明的兩個全局變量x和y 4 function demo(x,y){ 5 document.write(x) //=>undefined 因為在調用函數的時候沒有寫入參數,沒有值的參數默認為undefined 6 document.write(y) //同上 7 var x = 5,y =6; //在此在函數體內聲明了兩個局部變量x和y 8 document.write(x) //由于js代碼是從上到下執行的,此時的x用的是局部變量x 9 document.write(y) //同上 10 z =x+y //在函數體內聲明了一個沒有加var的z,此是它是全局變量,但是由是在函數體內賦值,用的x,y都是局部變量 11 document.write(z) //=>輸出結果為11 12 } 13 demo() 14 alert(z) //由于z是全局變量,還是可以在函數外取到z的值 =>11 15 alert(x) //=>1 在函數體外得到x,得到的是全局變量x 16 alert(y) //同上 17 </script>

?

總結

以上是生活随笔為你收集整理的js 默认的参数、可变的参数、变量作用域的全部內容,希望文章能夠幫你解決所遇到的問題。

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