Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取函数执行上下文_Javascript_Function - Fatal编程技术网

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现在有了专门用于这个目的的方法(其中
这个
指的是对象,而不是窗口,当没有显式反弹时)。