函式和初始作用域

2022-09-08 06:30:13 字數 1841 閱讀 9765

函式

(1) 編碼規則:高內聚,弱耦合(冗餘度小)

(2) 函式是乙個特殊類物件

(3) 函式的表示

① 函式宣告  function 函式名() {}

② 函式表示式(匿名) (表示式會忽略自己的名字)var 變數名 = function (){}

③ 函式名/變數名.name = 函式名

(4) 函式引數

① 傳參形式說明

function

demo

(a,b)

===function

demo()

function

demo

(a,b)

demo(1

,2)===

function

demo()

② 形參和實參的值可以不相對一樣多,比如:形參寫3個,實參寫2個都是可以的
(5) 實參列表(arguments)

① arguments是乙個類陣列

② 在每一函式裡面都有乙個arguments

(6) 形參長度可以用函式名/變數名.length;實參長度可以用arguments.length

(7)arguments[i]和形參是對映關係,乙個變,乙個就跟著變;但是前提是實參和形參的個數必須是一樣多的,一一對應;如果形參有兩個,實參只有乙個,那麼arguments[1]和形參的第二個是不存在任何對映關係的

(8) 不傳參例項練習

利用函式對傳進去的任意數進行求和運算

function

sum(

)document.

write

(summation)

;}

函式返回值(return)

(1) return語句會終止函式執行並返回函式的值

(2) 如果函式體內沒有return語句,系統會自動將其加到函式體末尾,如果沒有返回值,就返回undefined

例項解析

(1) 定義一組函式,輸入數字,逆轉並輸出漢字形式

function

changeover()

}changeover()

;function

change

(num,i)

}

(2) 寫乙個函式實現n的階乘

var n =

parseint

(window.

prompt

('請輸入乙個數字'))

;function

factorial

(n)else

}document.

write

(factorial

(n))

;

(3) 寫乙個函式實現斐波那契數列

var n =

parseint

(window.

prompt

('請輸入乙個數字,來代表斐波那契數列的項數,第一項為(n為0)'))

;function

fibonacci

(n)else

} document.

write

(fibonacci

(n))

;

初始作用域

(1) 在函式外定義的全域性變數可以在函式內被訪問,但是,在函式內的定義的區域性變數,在函式外,不能被訪問;即裡面的可以訪問外面的,但是外面的不能訪問裡面的

函式作用域和作用域鏈

所謂作用域就是 變數在宣告它們的函式體以及這個函式體巢狀的任意函式體內都是有定義的。function scope while 1 function console.log foo,global a,i m if b,i m while c c is not defined scope 但是,在js中...

Js 函式作用域和塊作用域

你不知道的js 第二版上捲第三章筆記 全域性作用域 定義在函式外部的變數,函式內部可以呼叫 區域性作用域 定義在函式內部的變數,函式外部不可以呼叫 塊級作用域 如同下面這個例子 for var i 1 i 10 i console.log i,b 輸出的還是 10 100!說明js沒有塊級作用域當我...

潛談函式作用域和作用域鏈

全域性作用域 區域性作用域 1 全域性作用域 定義 在js的任意地方都可以獲取和使用 1 最外面的定義的變數就擁有全域性作用域 var a 1 function test console.log a 1 2 任何變數,如果沒有宣告就賦值,此變數會為全域性物件所有 function test test...