Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   выразительный яваскрипт на хабре. Вопрос (https://javascript.ru/forum/misc/58635-vyrazitelnyjj-yavaskript-na-khabre-vopros.html)

ejik3800 01.10.2015 22:08

выразительный яваскрипт на хабре. Вопрос
 
http://habrahabr.ru/post/243273/

Есть там такой пример:
Require
Вот минимальная версия функции require:

function require(name) {
  var code = new Function("exports", readFile(name));
  var exports = {};
  code(exports);
  return exports;
}

console.log(require("weekDay").name(1));
// → Вторник


Это не работает. Я вот так вот реализовал, но не ясно что этим примером хотел сказать автор. Возможно я не понял задумку. Подскажите пожалуйста:
function require(name) {
    var zzz = ["Понедельник", "Вторник", "Среда", "Четверг", "Пятница"]
        var code = new Function("exports, arr, idx",
                "return exports['value'] = arr[idx]");
    var exports = {};
    code(exports, zzz, name);
    return exports;
}

console.log(require(1));
//Press ENTER or type command to continue
//{ value: 'Вторник' }

inflexible 01.10.2015 22:49

цитата из книги - "Во-первых, функция readFile, возвращающая содержимое файла в виде строки. В стандартном JavaScript такой функции нет, но разные окружения, такие как браузер или Node.js, предоставляют свои способы доступа к файлам. Пока притворимся, что у нас есть такая функция."! это к тому почему код у тебя не работает))

ejik3800 01.10.2015 23:47

но в статье этот код вывален как стенделоун как бы

tsigel 02.10.2015 10:15

ejik3800,
а кто вам сказал что функция readFile у автора не описана?
может там синхронный запрос аяксом на содержимое файла.

sortarray 04.10.2015 12:05

Цитата:

Сообщение от ejik3800
но не ясно что этим примером хотел сказать автор.

Код дествительно мутный, но больше всего ЯННП, зачем он подает пустой объект в качестве аргумента:)


Часовой пояс GMT +3, время: 06:11.