duancan9815 2015-03-25 21:28
浏览 32
已采纳

你能调用一个在调用者的上下文中返回的函数吗?

I don't think this is possible, but hey you never know. I'm curious if this is possible to do in common languages. My examples will be in JavaScript, but I'd be curious to know if this can be done in Python, PHP, Java, etc.

Let's say there are two functions.

var printX = function(x){
    checkX(x, this);
    console.log(x);
}
var checkX = function(x, caller){
    if (x > 10){
        caller.return;
    }
}
printX(5);  //Prints 5
printX(15); //Doesn't print anything

Obviously there are much better ways of expressing this, I'd just like to know if the concept is possible.

  • 写回答

1条回答 默认 最新

  • dsizd368332 2015-03-25 21:45
    关注

    Normally, if you want to stop the code that called your function, you throw an exception:

    var printX = function(x) {
        checkX(x);
        document.write(x);
    }
    var checkX = function(x) {
        if (x > 10) {
            throw "exit";
        }
    }
    
    try { printX(5)  } catch(e) {}  
    try { printX(15) } catch(e) {}

    </div>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据
  • ¥20 软件测试决策法疑问求解答