Так короткая версия, что я не понимаю, эта строка кода:пустая функция Javascript? Что это значит?
(new Function("paper", "window", "document", cd.value)).call(paper, paper);
Длинная версия, посмотрите на эти функции:
window.onload = function() {
var paper = Raphael("canvas", 640, 480);
var btn = document.getElementById("run");
var cd = document.getElementById("code");
(btn.onclick = function() {
paper.clear();
paper.rect(0, 0, 640, 480, 10).attr({fill: "#fff", stroke: "none"});
try {
(new Function("paper", "window", "document", cd.value)).call(paper, paper);
} catch (e) {
alert(e.message || e);
}
})();
};
Этот код от Raphael площадка, которая означает, что он реализует библиотеку raphael. Таким образом, единственная строка кода наверху, которую я не понимаю (она находится внутри выражения try/catch), предположим, чтобы скопировать код, который вводится пользователем, который хранится внутри cd.value в функцию. Но как это возможно?
Вы можете посетить страницу здесь: http://raphaeljs.com/playground.html