Грегоги сделал пост о rebol и javascript здесь http://blog.revolucent.net/2009/05/javascript-rebol.html
Но поскольку я углубляюсь в сравнение javascript и rebol, я не вижу, что эквивалентно rebol для прототипа javascript.Поскольку расширение экземпляра объекта с другого с помощью make в rebol не совсем похоже на свойство прототипа javascript, так как js prototype позволяет одновременно расширять ВСЕ экземпляры.
Так что я ошибаюсь или есть эквивалент приведенного ниже кода для rebol:
<html>
<head>
</head>
<body>
<script>
function Person(firstName, lastName, sex) {
this.firstName = firstName;
this.lastName = lastName;
this.whoAreYou = function() {
alert( "I've been built with Constructor and my name is " + this.firstName + " " + this.lastName);
}
this.WhatIsYourSex = function() {
alert(this.sex);
}
};
Person.prototype.sex = "Man";
</script>
<script>
JaneDoe = new Person("Jane", "Doe");
JaneDoe.whoAreYou();
JaneDoe.WhatIsYourSex();
alert("Are you sure?");
JaneDoe.sex = "Woman";
JaneDoe.WhatIsYourSex();
</script>
</body>
</html>
Обновление: меня, конечно, не волнует синтаксический сахар.Ничто не мешает расширению в R2, просто переопределив объект.Мой вопрос не о расширении объекта INSTANCE, а о расширении ВСЕХ INSTANCES одновременно: это то, что позволяет свойство js prototype.
Итак, чтобы переформулировать мой вопрос: может ли Rebol разрешить также АВТОМАТИЧЕСКИ расширять ВСЕ случаи, за счет расширения родительского класса, например, javascript, независимо от синтаксиса, который меня не интересует?я вижу разницу между R2 и R3 для одного экземпляра, но что касается функциональности языка, у меня нет автоматического расширения всех дочерних объектов, что является большой нагрузкой, так как мне придется управлять ими самостоятельно, что будет довольно медленно, поскольку это не сделаносамой системой.Что если я хочу создать фреймворк, такой как jquery, который сильно зависит от такого рода функций?Это было бы очень хлопотно.