我有一个函数foo
:
function foo() {
return 'foo';
}
虽然执行了foo
,但是有一种方法可以知道在对象声明中是否调用了foo
吗?我想区分这两种情况:
var bar = {
prop1: foo()
}
var var1 = foo();
答案 0 :(得分:0)
以下是一种方法,可以在评论中展示建议,并假设您宁愿拨打bar.prop1
而不是bar.prop1()
。
function foo (ctx) {
console.log(ctx == window)
return 'foo'
}
class Bar {
get prop1() {
return foo(this)
}
}
var var1 = foo(this);
var bar = new Bar();
bar.prop1;