在函式內部有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...