有我在其中可以看到的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