Как я могу получить доступ к имени функции из той функции?
// parasitic inheritance
var ns.parent.child = function() {
var parent = new ns.parent();
parent.newFunc = function() {
}
return parent;
}
var ns.parent = function() {
// at this point, i want to know who the child is that called the parent
// ie
}
var obj = new ns.parent.child();
посмотрите здесь: http://www.tek-tips.com/viewthread.cfm?qid=1209619
arguments.callee.toString();
кажется правильным для ваших нужд.
Вы не можете. Функции не имеют имен в соответствии со стандартом (хотя в Mozilla есть такой атрибут) - они могут быть присвоены только переменным с именами.
Также ваш комментарий:
// access fully qualified name (ie "my.namespace.myFunc")
находится внутри функции my.namespace.myFunc.getFn
Что вы можете сделать, так это вернуть конструктор объекта, созданного с помощью new
Итак, вы могли бы сказать
var obj = new my.namespace.myFunc();
console.info(obj.constructor); //my.namespace.myFunc