Javascript检入函数(如果直接调用或从对象调用)

Javascript检入函数(如果直接调用或从对象调用),javascript,Javascript,直接调用时,例如foo2()它应该转到else条件,但是如果被对象myObj调用,例如myObj.foo2()它应该在条件满足时执行 function foo2() { let message; //wants to check here from how the function is called? if(foo2 in myObj){ message = "hello"; } else { message

直接调用时,例如
foo2()
它应该转到else条件,但是如果被对象
myObj
调用,例如
myObj.foo2()它应该在条件满足时执行


function foo2() {
    let message;

//wants to check here from how the function is called? 
    if(foo2 in myObj){
        message = "hello";
    } else  {
        message = "there!";
    }
    console.log(message);
}


let myObj = {
    foo2
};


foo2();
myObj.foo2();


一种方法是检查
this
的值:

  • foo2()中它将是全局对象
    窗口
    未定义
  • myObj.foo2()中它将是对象
    myObj
    本身
函数foo2(){
让信息;
if(this==myObj){
message=“你好”;
}否则{
message=“那里!”;
}
控制台日志(消息);
}
设myObj={foo2};
foo2();

myObj.foo2()一种判断方法是检查
this
的值:

  • foo2()中它将是全局对象
    窗口
    未定义
  • myObj.foo2()中它将是对象
    myObj
    本身
函数foo2(){
让信息;
if(this==myObj){
message=“你好”;
}否则{
message=“那里!”;
}
控制台日志(消息);
}
设myObj={foo2};
foo2();

myObj.foo2()你不能传递一个参数来区分它们吗?你可以传递一个参数给函数吗?是的,伙计们,我可以,但我已经开始学习更多关于这个关键字的技巧。想试试上面的例子。谢谢你的帮助。你不能传递一个参数来区分它们吗?你可以传递一个参数给函数吗?是的,伙计们,我可以,但是我已经开始学习更多关于这个关键字的技巧。想试试上面的例子。谢谢你的帮助。谢谢。这就是我要找的。我可以传递参数。只是想从这个关键词开始。我记录了这个关键字,但是myObj.foo2()显示了{foo2:ƒ},并且不确定如何检查它。不过这有点傻。我希望在控制台中给我一个obj名称“myObj”。谢谢,这就是我要找的。我可以传递参数。只是想从这个关键词开始。我记录了这个关键字,但是myObj.foo2()显示了{foo2:ƒ},并且不确定如何检查它。不过这有点傻。我希望在控制台中给我一个obj名称“myObj”。