我曾经使用 python 进行编程,但现在我在一些项目中使用 javascript。在Python中,OOP概念比我现在正在阅读的JavaScript要简单一些。话虽这么说,我现在不太习惯使用 javascript 对象和原型(prototype)。同时,我可以在不使用对象的情况下实现以下目标吗?我不是一个纯粹的程序员(一直把它当作爱好)所以请耐心等待:
function func1(arg1){
does item..1..for eg...var result=arg1*2;
does item..2..for eg...var resultSq=arg*arg;
......
}
我想要其他函数,比如 func2,它在调用 func1 时; funct1 仅通过执行 item...1 并返回结果来响应。
换句话说,我想检测谁调用了该函数并使用 if 语句来更改执行 抱歉,如果太简单了。
最佳答案
识别调用者是谁:
<script>
function func1()
{
if(arguments.callee.caller.toString().indexOf(" test()") != -1)
//May be optimizable with a name property
{
return "I was called from test()";
}
if(arguments.callee.caller.toString().indexOf(" test2()") != -1)
//May be optimizable with a name property
{
return "I was called from test2()";
}
}
function test()
{
return func1();
}
function test2()
{
return func1();
}
alert(test());
</script>
引用:How do you find out the caller function in JavaScript?
传递 ID:
由于问题实际上是如何根据调用者是谁以不同的方式执行,因此您需要一个 if 语句来检查应该执行什么操作。
function doSomething(actionNumber)
{
if(actionNumber == 1)
{
return 1;
}
else if(actionNumber == 2)
{
return 1;
}
//etc...
}
function2()
{
doSomething(1);
}
关于javascript - 在这种情况下,无需使用 javascript 对象即可解决问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17240389/