1. 程式人生 > 其它 >設定Chrom檔案下載路徑

設定Chrom檔案下載路徑

技術標籤:jsjavascriptjs

一.函式

基本形式:function a(){},函式在呼叫時才會執行。

1.函式執行方式

呼叫執行:a();
被動執行:document.onclick = a;(其後不加括號,事件觸發時才會執行)

2.匿名函式

匿名函式要參與到表示式中,不可單獨出現,否則報錯。比如賦值給事件。
document.onclick = function(){
console.log(“匿名函式”)
}
若我們將一個函式賦給了事件並且給它取了名字,它是不可以被呼叫的,比如:

document.onclick = function aa(){
console.log
("匿名函式") } aa(); 是會報錯的

3.作用域

  • 全域性作用域,對應全域性變數
    全域性變數即沒被任何東西限制,直接寫在script中。全域性變數可以被所有的物件使用,其他物件也可訪問,全域性不可訪問區域性。
  • 區域性作用域,對應區域性變數
    區域性變數可訪問全域性,但不可訪問其他作用域的變數。區域性作用域的東西不可被其他作用域的東西使用。

作用域鏈:使用某一變數時,先從自身作用域找,沒有的話,往上一級找。
全域性變數和區域性變數名字可以相同,作用域可無限巢狀。呼叫時,具備就近原則

例1:

function x(){
	let a = 2;
}

此處的x為全域性變數,a為區域性變數

例2:

  let a = 2;
  function x(){let b = 3}
​  console.log(a,b)

此處因為b是區域性變數,在全域性中列印,找不到b,所以會報錯。

例3:

   let a = 2;function x(){let b = 3
​      console.log(a,b) //此處列印2,3,可知區域性可訪問全域性}x();

4.函式表示式

        aa();
        //函式宣告,可提前呼叫,即可提前解析、使用
        function aa(){
            console.
log("aa函式") } //函式表示式,不可提前使用。 let bb = function(){ console.log("bb函式") } aa(); bb();
        let bb = function(){
            console.log("bb函式")
        }()  //函式表示式可加括號自執行,因其是被賦給表示式的。這個方法不大會用

函式變函式表示式方法:

當我們在寫專案時,可能會遇到詞窮的時候,變數名會不夠用,我們就可以用這種方式,各自開闢一些作用域,在不同作用域定義相同名字的變數也可。

        (function(){
            console.log("11")
        })();
        !function(){
            console.log("11")
        }();
        +function(){
            console.log("11")
        }();
        -function(){
            console.log("11")
        }();
        ~function(){
            console.log("11")
        }();

5.引數

引數分為形參(定義函式時規定好的變數名,作用於函式內部)和實參(呼叫函式時傳入的實際資料),呼叫函式時,傳參

        function sum(a,b){  //此處a,b為形參
            console.log(a+b)
        }

        sum(1,2)  //此處1,2為實參

當我們不確定形實參的個數時,形參不可以一一預設好對應的變數,我們可以用arguents來顯示所有實參。

        function sum(){  
            console.log(arguments)
        }

        sum(1,2) 
        sum(1,25,7,9,) 
        sum(1,4,6) 
        sum(1,2,3,6,7) 

在這裡插入圖片描述

6.返回值

一個函式執行完後,預設返回值為undefined.

        function sum(x,y){
            let z = x+y
        }
        let a = sum(2,3)
        console.log(a)  //列印undefined
        function sum(x,y){
            let z = x+y
            return z
        }
        let a = sum(2,3)
        console.log(a)  //列印5

我們在寫程式碼的時候,一般採用第二種方式,函式返回一個什麼東西,使用時,直接傳實參到函式中,並賦給一個變數,直接使用函式的返回值。所以我們在寫註釋時,要表明兩個東西:

  • @params

    告訴使用這個函式的re,應該傳入什麼實參

  • @reutrn

    告訴使用這個函式的人,我會返回什麼資料