解决代码太长的问题

  1. 利用+连接字符串

    var func = new Function( 'a', 'b', 'c',
    'var res = a > b ? a : b;' +
    'res = res > c ? res : c;' +
    'return res;' );
    
  2. 利用字符串特性

    function foo ( a, b, c ) {
       var res = a > b ? a : b;
       res = res > c ? res : c;
       return res;
    }
    var func = new Function( 'a', 'b', 'c', 'return foo( a, b, c );');
    
  3. ES6 语法(很少有浏览器实现)

    使用键盘左上角的` 表示可换行字符串的界定符,之前我们用的是单引号或者双引号来表示一个字符串字面量,在ES6中可以用反引号来表示该字符串可换行。

  4. (最终)利用 DOM 的特性完成该方法

    <div id="code" style="display:none">
    var res = a > b ? a : b;
    res = res > c ? res : c;
    return res;
    </div>
    
    <script>
    
    var txt = document.getElementbyId("code).innerHtml + ' ';
    var func = new Function('a', 'b', 'c', txt);
    
    </script>
    

results matching ""

    No results matching ""