| 
 Захват переменных функцией Здравствуйте, у меня есть код: 
var funcNameArray = ["sin", "cos", "tan", "asin", "acos", "atan", "atan2", "cot", "sec", "csc"];
    //Create shell
    for (var i in funcNameArray) {
        var funcName = funcNameArray[i], obj = {};
        var func = math[funcName];
        obj[funcName] = function (x) {
            return func(GetRadAngle(x));
        };
        math.import(obj, { override: true });
    };
Он последовательно переопределяет математические функции в мат библиотеке math.js(может это поможет). И вся проблема в том, что все функции в результате указывают на одну анонимную, а она в свою очередь использует func, которая как я понял оказалась одна на всех. Как это можно исправить? | 
| 
 Что требуется? Ничего не понял :) Зачем переопределять все функции? | 
| 
 | 
| 
 Цитата: 
 Правда я видимо чего-то все же не понял, раз результат получился такой же: 
var funcNameArray = ["sin", "cos", "tan", "asin", "acos", "atan", "atan2", "cot", "sec", "csc"];
    //Create shell
    for (var i in funcNameArray) {
        var funcName = funcNameArray[i], obj = {};
        var func = math[funcName];
        obj[funcName] = function (x) {
            return (function () {
                return func(GetRadAngle(x));
            })(x);
        };
        math.import(obj, { override: true });
    };
 | 
| 
 Цитата: 
 | 
| 
 
for (var i in funcNameArray) {
	var funcName = funcNameArray[i], obj = {};
	obj[funcName] = function () {
		var func = math[funcName];
		return function (x) {
			return func(GetRadAngle(x));
		};
	}();
	math.import(obj, { override: true });
};
но лучше так 
funcNameArray.forEach(function (funcName) {
	var obj = {};
	obj[funcName] = function (x) {
		return math[funcName](GetRadAngle(x));
	};
	math.import(obj, { override: true });
});
 | 
| 
 Спасибо, работает! | 
| Часовой пояс GMT +3, время: 21:59. |