解析物件體內與方法體內引用內部方法的不同

2022-05-02 13:30:10 字數 397 閱讀 9850

/*物件體內*/

var a=, //這裡要加this或者物件a,但方法體內同等格式不用,思考這其中的差別

func1:function()

}a.init(); //執行

/*方法體內*/

function b(); //這裡可以呼叫到func1,原因在於物件體沒有開闢作用域的概念,它自己依賴於自身所在的作用域,所以不能在物件體中直接找到func1.

function func1()

}new b().init();//執行

總結,物件體沒有開闢作用域的概念,它自己依賴於自身所在的作用域,所以不能在物件體中直接找到func1,需要通過作用域中的自己來找到func1,方法體則會在定義時開闢一段作用域(執行上下文),以供方便獲取活動物件。

單體內建物件 單體內建物件

1 global物件 所有全域性作用域定義的屬性與函式,都是global物件的屬性。1.1 uri編碼方法 encodeuri 不會對本身屬於uri的特殊符號進行編碼。uri解碼方法 decodeuri 只能對使用encodeuri 替換的字元進行解碼 decodeuricomponent 能夠解碼...

單體內建物件 單體內建物件

內建物件 由ecmascript實現提供的,不依賴宿主環境的物件,這些物件再es程式執行之前就已經存在 global物件 global全域性物件是乙個特別的物件 兜底物件 不屬於其他物件的屬性和方法,都屬於global物件。如 isnan isfinite parseint parsefloat 註...

單體內建物件 單體內建物件

ecmascript 262對內建物件的定義是 由ecmascript實現提供的,不依賴於宿主環境的物件,這些物件在ecmascript程式執行之前就已經存在了。意思就是說,開發人員不必顯示地例項化內建物件,因為它們已經例項化了。如object,array,string。ecmascript還定義了...