Voronar,
Вообще, ящетаю, "Безопасное" расширение нативных объектов, могло бы выглядеть вот так Object.prototype._=function(f){return f(this)} show=function(x){console.log(x)} sum=function(x){console.log(x+x)} ;({a: 1})._(show) // { a: 1 } ;1.._(sum) // 2 Расширяем одной функцией, а затем через каллбэк дергаем как хочем. Одну ф-цию задокументировать и запомнить -- не проблема. И не надо никаких сраных костылей enumerable и пр. |
Цитата:
Voronar, слушать terminator-101 и kostyanet(скорее всего это вообще одно лицо) следует с осторожностью.(обрати внимание на карму) Они живут в своём маленьком трололо мире, слабо связанном с действительностью. Иногда чего дельного и могут сказать в моменты просветления, но в целом.. |
Цитата:
Цитата:
class Parent { someMethod(); } class Child prototype Parent.prototype {}; console.log((new Child).__proto__ == Parent.prototype); //true |
Цитата:
|
Цитата:
По-идее, то что он написал, это тоже самое, что ({}).__proto__. Вроде, именно так и расширяются нативные объекты. А в саму то функцию что толку писать? alert(Object.prototype===({}.__proto__)) // true |
Erolast,
Object.__proto__.one=1 Object.prototype.ten=10 alert([{}.one, {}.ten]) |
Цитата:
Object.defineProperty(Function.prototype, "extends", { writable: true, configurable: true, enumerable: false, value: function(){} }); Цитата:
|
Цитата:
Function.prototype.extends=function(){} console.log(function(){}.extends, ({}).extends, "foo".extends) // [Function] undefined undefined за исключением сраного enumerable Ты расширил функцию, а речь шла за объекты. Цитата:
|
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 16:29. |