有我在其中可以看到的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. Quadtree的核心实现
- 4. 关系Fisher核心实现
- 5. Xamarin .Net核心HttpClientHandler方法未实现(VS for Mac)
- 6. .NET核心 - 有没有一种方法来实现WinForms?
- 7. 用于实现核心数据实体的插入/编辑的最佳方法
- 8. 调用核心方法
- 9. 核心数据willSave:方法
- 10. 在.Net核心中实现IDbConnection
- 11. 使用Dot Net核心实现Cache Manager
- 12. 如何实现can()方法?
- 13. 如何实现containsAll方法
- 14. 如何实现GestureListener.onFling()方法
- 15. 如何在asp.net核心web API(无第三方)中实现JWT刷新令牌?
- 16. 如何实现/增强核心数据关系getter/setter?
- 17. 如何在核心图-scatter图中实现自定义?
- 18. 如何在核心java中实现图形?
- 19. 如何在dotnet核心上实现服务器端google授权
- 20. 我如何在mac的核心数据中实现部分?
- 21. 如何实现多个项目的核心量角器框架
- 22. 如何在“旧”核心数据中实现保存完成?
- 23. 我应该如何正确实现核心Clojure接口?
- 24. ios核心数据如何实现sql事务功能?
- 25. 如何正确实现核心数据虚拟属性?
- 26. 如何在ASP.NET核心中正确实现ExceptionFilterAttribute
- 27. 无法设置实体框架核心
- 28. 可可核心数据有效的方法来统计实体
- 29. 实体框架核心模型关系的正确方法
- 30. 核心数据实体的初始化方法不可用
的东西,可能是一个更容易阅读:http://es5.github.io/ – Ian 2013-05-14 14:10:55
@Ian可能:) – 2013-05-14 14:12:40