|
Пишут ли в таком стиле?
ИМХО, очень даже неплохо получается.
defineOperation=function(the_class, name, operation){ Object.defineProperty(the_class.prototype, name, {get: Function(operation)}) } defineOperation(Number, "inc", "return this+1") defineOperation(Number, "double", "return this+this") a=1 a=a.inc.inc alert(a) // 3 alert(2..double) // 4 Person=function(name, lastName){ this.name=name this.lastName=lastName } defineOperation(Person, "fullName", "return this.name + ' ' + this.lastName") person1=new Person("Jack", "Smith") person2=new Person("John", "Doe") alert(person1.fullName) alert(person2.fullName) // Jack Smith // John Doe |
А зачем operation строка, а не функция?
|
Для краткости.
|
Аха, при этом ломается подсветка синтаксиса и оптимизация.
https://developer.mozilla.org/en-US/...rrow_functions По теме - надобность в динамическом модифицировании класса попросту не встречается на практике. |
Цитата:
Цитата:
|
Цитата:
Цитата:
Хотя, кому я все это рассказываю... |
Ещё двойные кавычки придётся экранизировать.
|
Еще и многострочный код геморройно будет писать.
|
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 14:45. |
|