В MenuetOS, ссылку на которую дал выше, уже есть браузер, портирована libc, и есть еще много чего, хотя это всё скорее just for fun, нежели попытка написать полноценную ОС.
От eval лучше вообще отказаться. Для своей реализации JSON-RPC в одном из проектов использую примерно такой код с некоторыми модификациями и проверками:
/**
* Invoke method of object by name
*
* @param {string} methodName Method name to invoke.
* @param {array} params Arguments array.
*/
function invoke(methodName, params) {
var arr = methodName.split('.');
var parent = ((function () { return this; }).call(null)); // get global context
var funcName = arr.pop();
for(var i = 0; i < arr.length; i++) {
parent = parent[arr[i]];
}
return parent[funcName].apply(parent, params);
}
// Example
var obj = {};
obj.foo = {};
obj.foo.bar = function(a, b) {
return 'bar ' + (a + b);
}
alert(invoke('obj.foo.bar', [1, 2]));
Этот вызов загрузит jQuery в глобальный контекст что не очень хорошо т.к. все аддоны в FF исполняются в одном контексте и могут возникнуть конфликты. Рекомендую использовать jQuery.noConflict и загружать jQuery не в глобальный контект (см. документацию к mozIJSSubScriptLoader).
> И как вы думаете, 64-битный процессор сможет с равной скоростью обработать (пройтись) по деревьям, одно из которых занимает 200мб а другое 400мб (пусть и чуть меньше если зафиксировали 32-битные данные узла)?
Сможет т.к. происходит не линейное чтение области памяти, а перемещение по указателям от элемента к элементу.
Теперь можно настроить чтобы по-умолчанию вкладки всегда восстанавливались. В настройках General -> Startup -> When Firefox starts выбрать Show my windows and tabs from last time.
Пользуюсь уже пару недель nightly cборками. Последняя на данный момент (#12) работает стабильно и быстро. Единственное что у меня не работает на ней — это screen-off animation.
Этот вызов загрузит jQuery в глобальный контекст что не очень хорошо т.к. все аддоны в FF исполняются в одном контексте и могут возникнуть конфликты. Рекомендую использовать jQuery.noConflict и загружать jQuery не в глобальный контект (см. документацию к mozIJSSubScriptLoader).
Сможет т.к. происходит не линейное чтение области памяти, а перемещение по указателям от элемента к элементу.
Советую почитать про архитектуру процессоров прежде чем писать такой бред.