Javascript 获取函数执行上下文
我有一个函数Javascript 获取函数执行上下文,javascript,function,Javascript,Function,我有一个函数foo: function foo() { return 'foo'; } 当执行foo时,有没有办法知道在对象声明中是否调用了foo?我想区分这两种情况: var bar = { prop1: foo() } var var1 = foo(); 这里有一种方法演示了注释中的建议,并假设您更愿意调用bar.prop1而不是bar.prop1() 函数foo(ctx){ console.log(ctx==窗口) 返回“foo” } 分类栏{ 获取prop1(){ 返
foo
:
function foo() {
return 'foo';
}
当执行foo
时,有没有办法知道在对象声明中是否调用了foo
?我想区分这两种情况:
var bar = {
prop1: foo()
}
var var1 = foo();
这里有一种方法演示了注释中的建议,并假设您更愿意调用
bar.prop1
而不是bar.prop1()
函数foo(ctx){
console.log(ctx==窗口)
返回“foo”
}
分类栏{
获取prop1(){
返回foo(本)
}
}
var var1=foo(本);
var bar=新的bar();
bar.prop1代码>该语言不提供该信息。你必须用一个参数或其他东西来设计你的函数。如果你试图实现类方法,ES6现在有了专门用于这个目的的方法(其中这个指的是对象,而不是窗口,当没有显式反弹时)。