Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.01.2017, 13:07
Интересующийся
Отправить личное сообщение для who_cares_? Посмотреть профиль Найти все сообщения от who_cares_?
 
Регистрация: 13.01.2017
Сообщений: 17

Вопрос по new Functon
Всем привет!
Сразу к сути.
var foo = new Function ('a, b', 'return a + b');
console.log(foo) //function anonymous(a,b /**/) {return a + b}

Как это изменить на:
console.log(foo) //foo(a,b) {return a + b}

Думаю для этого можно
а) сделать свой конструктор функции(хз как)
б) что-то сделать с foo после создания
Задача вообще выглядит решаемой?)

Последний раз редактировалось who_cares_?, 15.01.2017 в 13:13.
Ответить с цитированием
  #2 (permalink)  
Старый 15.01.2017, 13:24
Аспирант
Отправить личное сообщение для fuckingquest Посмотреть профиль Найти все сообщения от fuckingquest
 
Регистрация: 28.10.2016
Сообщений: 70

who_cares_?,
А зачем это? Твоя верхняя и нижняя функция эквивалентны. Только не foo(a,b) {return a + b}, а function foo(a,b) {return a + b}
Ответить с цитированием
  #3 (permalink)  
Старый 15.01.2017, 14:30
Аспирант
Отправить личное сообщение для innowed Посмотреть профиль Найти все сообщения от innowed
 
Регистрация: 27.03.2015
Сообщений: 78

Сообщение от who_cares_? Посмотреть сообщение
Всем привет!
Сразу к сути.
var foo = new Function ('a, b', 'return a + b');
console.log(foo) //function anonymous(a,b /**/) {return a + b}

Как это изменить на:
console.log(foo) //foo(a,b) {return a + b}

Думаю для этого можно
а) сделать свой конструктор функции(хз как)
б) что-то сделать с foo после создания
Задача вообще выглядит решаемой?)
console.log(new Function ('a, b', 'return a + b'));
Ответить с цитированием
  #4 (permalink)  
Старый 15.01.2017, 15:24
Интересующийся
Отправить личное сообщение для who_cares_? Посмотреть профиль Найти все сообщения от who_cares_?
 
Регистрация: 13.01.2017
Сообщений: 17

Сообщение от fuckingquest Посмотреть сообщение
who_cares_?,
А зачем это? Твоя верхняя и нижняя функция эквивалентны. Только не foo(a,b) {return a + b}, а function foo(a,b) {return a + b}
Да, я в курсе) Нужно затем, чтобы после сериализации и парсинга функции кодом который ниже, полученную функцию можно было снова так же сериализовать и запарсить. Ну и живущий во мне перфекционист требует чтобы все функции выглядели одинаково
var str = JSON.stringify(BASE, function(key, value) {
	if(typeof value == 'function') {
		wr(value);
		var start = key.length;
		value = 'function' + value.toString().substring(start);
	}
return value;
});

var PARSE = JSON.parse(str, function(key, value) {
	if(typeof value == 'string' && value.substr(0, 3) == 'fun') {
		ARG:{
		        const open = value.indexOf("(");
		        const close = value.indexOf(")");
			var arg = value.substring(open+1, close);
		}
		body:{
			const open = value.indexOf("{");
			var body = value.substring(open + 1, value.length-1);
		}

		value = new Function(arg, body);
	};
	return value;
});
BASE = PARSE;


Это кстати велосипед который пришлось изобрести для решения этой задачи: Сериализация объекта с функциями.

_

Последний раз редактировалось who_cares_?, 15.01.2017 в 15:34.
Ответить с цитированием
  #5 (permalink)  
Старый 15.01.2017, 16:15
Интересующийся
Отправить личное сообщение для who_cares_? Посмотреть профиль Найти все сообщения от who_cares_?
 
Регистрация: 13.01.2017
Сообщений: 17

Тему можно закрывать..
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Меню с выезжающим сайдбаром Jaz Элементы интерфейса 17 26.06.2016 19:21
Неизвестный идентификатор FaNaT_96 Общие вопросы Javascript 14 01.05.2016 18:15
вопрос по toDataURL() GodZiLA Общие вопросы Javascript 0 03.06.2014 17:21
Всплытие событий или что то не так... Кирюха =) jQuery 6 30.03.2013 12:56
вопрос про возможности JS для рисования и анимации macdack Библиотеки/Тулкиты/Фреймворки 3 15.07.2011 00:13