在JavaScript中,函數是作為一等成員而存在的,由此,非常有必要掌握JavaScript中函數的知識,最近幾天閱讀了JavaScript忍者的第三章和第四章前面的部分,做一個總結。 JavaScript函數聲明: JavaScript函數是使用 函數字面量 進行聲明 從而創建函數的。 形如 函 ...
在JavaScript中,函數是作為一等成員而存在的,由此,非常有必要掌握JavaScript中函數的知識,最近幾天閱讀了JavaScript忍者的第三章和第四章前面的部分,做一個總結。
JavaScript函數聲明:
JavaScript函數是使用 函數字面量 進行聲明 從而創建函數的。
形如
function name(arg1,arg2)//函數的名稱可選 { code; };
函數的作用域:
在JavaScript中沒有塊級作用域,只有函數作用域。也就是說在JavaScript中,作用域是由function聲明的,而不是由代碼塊。
{ var a=10; } console.log(a);//結果是10
function a() { var a=10; } console.log(a);//結果是undefined
函數調用:
1.作為函數進行調用
function a() {}; a();
2.作為方法進行調用
var o={}; o.haha=function(); haha();
3.作為構造函數調用
function Pig() {}; var xiaohong=new Pig(); var xiaoming=new Pig();
4.使用apply和call方法調用
function haha() {}; var hahaha1={}; var hahaha2={}; haha.apply(hahaha1,[1,2,3,4]);//apply方法第一個參數是函數上下文的對象,第二個參數是要傳入參數的數組 haha.call(hahaha2,1,2,3,4);call方法的第一個參數是函數上下文的對象,剩下的參數是要傳入的參數