Как показать пользовательские функции объекта test?
Здравствуйте мне нужно получить пользовательские функции только моего объекта. Мне удалось отобразить функции объекта window. Выборка пользовательской функции происходит через раскрывающий список (select). Я создала еще один объект назвала его test. Теперь мне нужно вывести содержимое этого объекта (функции) в список, потом при выборе любой функции будет отображаться её содержимое. Как это можно сделать?
Вот код который создает список всех пользовательских функции windows и при выборе показывает содержимое функции.
function f1(x) { return Math.sqrt(Math.abs(x)); }
function f2(x) { return (x<0?-1:(x>0?1:0)); }
var arr = 1;
//Объект test нужно вывести список функции и при выборе показывать содержимое функций
test = function(x,y)
{
this.x = x;
this.y = y;
this.getX = function()
{
return this.x;
}
this.getY = function()
{
return this.y;
}
}
t1 = new test(10,20);
console.log(t1.getX());
function showFuncs (fName) { //Показать код функции с именем fName
document.getElementById('showFunctionId').innerHTML = eval(fName).toString();
}
function getAllFuncs (obj) { //Получить массив с именами функций из объекта obj
var methods = [];
for (var m in obj) {
if (typeof obj[m] == "function" && obj.hasOwnProperty(m)) {
methods.push (m);
}
}
return methods;
}
//Загрузить массив опций options в элемент HTML select
var options=getAllFuncs(window);
var select = document.getElementById("selectFunctionId");
for (var i = 0; i < options.length; i++) {
var opt = options[i];
var el = document.createElement("option");
el.textContent = opt;
el.value = opt;
select.appendChild (el);
}
Код:
<!DOCTYPE html> |
| Часовой пояс GMT +3, время: 21:02. |