JavaScript 4 2 函式高階 this

2021-07-31 14:40:41 字數 1109 閱讀 9947

在函式內部有2個特殊的物件:

arguments

和this。

this物件是函式執行的環境物件,或者說,是呼叫函式的那個物件。

這是函式的最通常用法,屬於全域性性呼叫,因此this就代表全域性物件

global。

var x = 0;

function test()

test(); //呼叫函式test()的是全域性物件window,所以this.x = window.x,結果0

函式還可以作為某個物件的方法呼叫,這時this就指這個物件。

var x = 0;

function test()

var o = new object();

o.x = 1; //新增物件o的屬性x

o.m = test; //新增物件o的方法m()

o.m(); //呼叫物件o的方法m(),所以this.x = o.x,結果:1

所謂建構函式,就是通過這個函式生成乙個新物件(object)。這時,

this

就指這個新物件。

function person(name,age)    

var myfather = new person("john",50); //結果:建立myfather.name="john",myfather.age=50

alert(myfather.age); //50

function test()

var o = new test(); //結果:建立o.x=1

alert(o.x); // 1

this

指的就是這第乙個引數。

var x = 0;

function test()

var o=;

的引數為空時,預設呼叫全域性物件。因此,這時的執行結果為

0,證明

this

指的是全域性物件。

如果把最後一行**修改為

執行結果就變成了1,證明了這時

this

代表的是物件o。

4 2 可變引數函式

可變引數函式是一種引數個數可變的函式。如果函式最後乙個引數被記作.t,這時函式可以接受任意個t型別引數作為最後乙個引數。請注意只有函式的最後乙個引數才允許是可變的。func slice type,elems type typepackage main import fmt func find num...

4 2 Javascript之執行環境和作用域

執行環境每個執行環境都有乙個與之關聯的變數物件,環境中定義的所有變數和函式都儲存在這個物件中。書中說我們自己編寫的 無法訪問這個物件 下面這個最外層的執行環境window物件是可以訪問的呢?web瀏覽器中,最外層的執行環境是window物件,因此所有的全域性變數和函式都是作為window的屬性或者方...

4 2 Javascript之執行環境和作用域

var globalcolor globalcolor function globalfunc console.log globalcolor innerfunc globalfunc console.log globalcolor globalfunccolor globalcolor inner...