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”。