有我在其中可以看到的JavaScript核心庫的方法,如push(), join(), split()
等都是像其他語言(glib爲C)實現的任何參考或在線網站JavaScript核心方法如何實現?
1
A
回答
3
它通過執行不同(在合理範圍內,實現有基本上遵循the spec)。你可以看到的V8(Chrome的引擎)和的SpiderMonkey(Mozilla的)是如何工作的,他們都是開源的所有細節:
例如,這是怎麼了V8 implements Array#push
(在該鏈接的行號可能會腐爛):
function ArrayPush() {
if (IS_NULL_OR_UNDEFINED(this) && !IS_UNDETECTABLE(this)) {
throw MakeTypeError("called_on_null_or_undefined",
["Array.prototype.push"]);
}
var n = TO_UINT32(this.length);
var m = %_ArgumentsLength();
for (var i = 0; i < m; i++) {
this[i+n] = %_Arguments(i);
}
this.length = n + m;
return this.length;
}
0
呦你可以在ECMAScript規範中學到很多關於內部邏輯的知識,但實現依賴於瀏覽器。
相關問題
- 1. jQuery核心方法vs實用方法
- 2. 如何實現核心數據
- 3. 關係Fisher核心實現
- 4. Quadtree的核心實現
- 5. 實現在asp.net核心
- 6. Javascript核心ios調用類方法
- 7. 在Swift中實現核心數據驗證方法
- 8. Xamarin .Net核心HttpClientHandler方法未實現(VS for Mac)
- 9. .NET核心 - 有沒有一種方法來實現WinForms?
- 10. 用於實現核心數據實體的插入/編輯的最佳方法
- 11. 核心數據willSave:方法
- 12. 調用核心方法
- 13. Laravel核心方法混淆
- 14. 好的核心繪圖實現OSX
- 15. arm或mips核心在fpga中實現
- 16. 使用Dot Net核心實現Cache Manager
- 17. 在.Net核心中實現IDbConnection
- 18. 如何實現自方法
- 19. 如何實現readinto()方法
- 20. 如何實現IDispatch方法?
- 21. 如何實現GestureListener.onFling()方法
- 22. 如何實現containsAll方法
- 23. 如何實現MIPS方法
- 24. 如何實現方法isMyDeviceATablet()?
- 25. 如何實現can()方法?
- 26. 如何實現ICollection.CopyTo方法?
- 27. 如何實現onShowCustomView方法?
- 28. 如何在asp.net核心web API(無第三方)中實現JWT刷新令牌?
- 29. 爲什麼核心動畫方法是類方法而不是實例方法?
- 30. 如何實現/增強核心數據關係getter/setter?
的東西,可能是一個更容易閱讀:http://es5.github.io/ – Ian 2013-05-14 14:10:55
@Ian可能:) – 2013-05-14 14:12:40