Возможно, я плохо сформулировал название, но я думаю, что лучший способ объяснить, что я пытаюсь сделать, это показать пример ...
Итак, рассмотрим следующий код:
var obj={}
Object.defineProperty(obj, "a", { get: function() { return 1 }, enumerable:true, configurable:true } )
Object.defineProperty(obj, "b", { get: function() { return 2 }, enumerable:true, configurable:true } )
Object.defineProperty(obj, "c", { get: function() { return 3 }, enumerable:true, configurable:true } )
var codeString="return obj.a + obj.b + obj.c"
var func=Function(codeString)
func()//6
У меня есть объект со свойствами get и функцией, сделанной из строки. То, что я хотел бы сделать, это когда функция запущена (func()
) и заданы c свойства get в функции, я хотел бы знать индекс в строке (codeString
), где она называется из. Который я могу использовать / сообщить в функции get.
Так, например, когда свойство b вызывается в obj obj.b
в функции, которая будет иметь индекс, скажем, 19 ..
Я не уверен, возможно ли это, и Я не мог придумать, как это сделать, поэтому подумал, что я бы выполнил это ..
Если это не имеет смысла, тогда, пожалуйста, скажите, и я постараюсь объяснить это лучше. Спасибо за любая помощь, которую вы можете иметь ...