javascript - 在这种情况下,无需使用 javascript 对象即可解决问题

标签 javascript

我曾经使用 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/

相关文章:

javascript - CESIUM AGI 中的绘图线

javascript - 通过javascript中的复选框禁用控件

javascript - 仅显示红色 Node 中 msg.payload 中的值字段

javascript - 从javascript中的多行字符串读取变量

javascript - 将多个字符串打洞/组合成一个(可能最短的)字符串,其中包括每个字符串的所有字符

javascript - 使用 javascript 遍历值列表

javascript - 如何在多个模型上正确应用矩阵变换?

javascript - 忽略子文档 MongoDB 中的某些结果

javascript - 测试覆盖率 React, Istanbul 尔 -_registerComponent(...) : Target container is not a DOM element

javascript - 在同一页面上多次导入javascript文件