zoukankan      html  css  js  c++  java
  • 回调函数

    回调函数——即在一个函数中调用另一个函数,解决异步编程的一种思路,一般用于递归。

        //利用回调函数实现简单计算器
        //主体
        function calculator(num1,num2,func){
            return func(num1,num2);
        }
    
        function add(num1,num2){
            console.log(num1+num2);
        }
        function reduce(num1,num2){
            console.log(num1-num2);
        }
        function multiply(num1,num2){
            console.log(num1*num2);
        }
        function divide(num1,num2){
            console.log(num1/num2);
        }
        calculator(1,2,add);
        calculator(1,4,reduce);
        calculator(1,2,multiply);
        calculator(1,2,divide);
    //递归
        //斐波那契数列
        function fiboncci(n){
            if( n===1 || n===2)
                return 1;
            else
                return fiboncci(n-1)+fiboncci(n-2);
        }
        console.log(fiboncci(7));  //13
     //求前n个数的和
        function sum(n){
            if(n===1)
                return 1;
            else
                return n+sum(n-1);
        }
        console.log(sum(5));  //15

    由于回调函数存在问题:

    1、一个函数嵌套另一个函数,嵌套多了,会导致回调地狱

    2、由于异步执行,因此回调的多个函数在何时执行完成返回是不确定的

    3、不支持try, catch;

    ES6中提供了新对象Promise来解决异步编程中存在的这些问题。

  • 相关阅读:
    进制
    变量
    cmd命令和快捷键
    面向对象和面向过程
    iterations 快捷键
    SQL语句分类和语法
    MySQL语法规范
    Web-Scale-IT 到底是啥?
    安全的应用程序开发和应用程序安全防御
    如何像后端一样写前端代码?
  • 原文地址:https://www.cnblogs.com/wenzizaigaoge/p/10511415.html
Copyright © 2011-2022 走看看