Есть ли какая-либо ссылка или интернет-сайт, в котором я могу видеть, как JavaScript основных методы библиотеки, такие как push(), join(), split()
и т.д. реализованы как на другом языке (glib для C)Как реализованы основные методы JavaScript?
1
A
ответ
3
Это зависит от реализации (в разумных пределах, реализация должна принципиально следуют the spec). Вы можете увидеть все детали того, как V8 (двигатель Хрома) и 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
Yo Вы можете много узнать о внутренней логике в спецификации ECMAScript, но реализация зависит от браузера.
Смежные вопросы
- 1. Как методы класса реализованы в javascript?
- 2. Как реализованы массивы javascript?
- 3. Как реализованы методы, возвращающие поток?
- 4. Как точно реализованы асинхронные методы
- 5. где реализованы методы класса OracleCommand?
- 6. Как анонимные методы реализованы под капотом?
- 7. Как реализованы методы Stream в java-8?
- 8. Почему некоторые методы HtmlHelper реализованы как методы расширения
- 9. C# Основные методы оптимизации
- 10. Рубины, разбитые основные методы?
- 11. Основные методы базы данных
- 12. Основные методы управления весной
- 13. Основные методы издевательства
- 14. Почему методы MonoBehaviour не реализованы для переопределения?
- 15. Почему не реализованы некоторые методы в WindowAdapter?
- 16. Java: реализованы методы Treemap на map.entry, возможно?
- 17. Smalltalk: Как реализованы примитивы?
- 18. Как реализованы события
- 19. Статические классы, методы и основные()
- 20. Сервер приложений и основные методы
- 21. Основные методы метапрограммирования в Scalla
- 22. Как использовать основные методы маршрутизации в Laravel?
- 23. Основные методы Java с массивами «...»?
- 24. Почему JavaScript-фреймворки сохраняют основные методы для быстрой справки?
- 25. Как определить, какие методы не реализованы, когда XCode имеет предупреждения
- 26. Как компилятор java проверяет, были ли реализованы все методы интерфейса?
- 27. Как работают методы обработки javascript?
- 28. Python: используйте методы класса как статические, когда его реализованы как методы экземпляра
- 29. Какие черты реализованы массивом
- 30. Objective-C++: Как реализованы ссылки?
Что-то, что может быть проще для чтения: http://es5.github.io/ – Ian
@Ian Возможно :) – 2013-05-14 14:12:40