$elem.attr({
src: "images/dest/nightThemeLogo.svg",
otherAttr: "111"
})
через вариант с объектом можно устанавливать несколько значений$elem.attr("src", "images/dest/nightThemeLogo.svg");
через вариант с 2 аргументами, когда первый строка - устанавливаем 1 значениеvar val = $elem.attr("src");
через вариант с 1 аргументом, когда он строка - читаем значение for (let key in obj) {
if (Object.prototype.hasOwnProperty.call(obj, key))
можно использовать Object.getOwnPropertyNames и итерироваться по полученному массиву, это будет несколько быстрее.obj.constructor();
некорректно, мало того, что он отработал на исходном объекте, а не на новом, Ваш код попросту упадет с ошибкой почти на всем, кроме plain object, так как конструкторы обычно ничего не возвращают. Вместо этого стоит использовать Object.getPrototypeOf и Object.setPrototypeOf.А что проще и быстрее в изучение gecko или servo?@PrytexY, тут как посмотреть, с одной стороны, как сказал Flying - Gecko это реальный движок Firefox
Ну поддержку распиаренного проекта как минимум не прекратят в одночасье, в отличие от ноунейм пакетов.
Wynell_ru, по имени переменной рекурсивный вызов сделать можно, но никто не сможет Вам гарантировать, что в переменной до сих пор лежит текущая функция