【问题标题】:What are some popular JavaScript shortcuts/tricks? [closed]有哪些流行的 JavaScript 快捷方式/技巧? [关闭]
【发布时间】:2012-02-19 18:06:37
【问题描述】:

我使用 JavaScript 已经有一段时间了,我认为列出一些我最喜欢的快捷方式会很有用(尤其是对于那些刚接触该语言的人)。

三元运算符

替换:if(a) then {b} else {c} 与:(a) ? b:c;

一元加号运算符

parseInt(x,10) + parseInt(y,10) 替换为+x + +y

数组创建

var ary = new Array(); 替换为var ary = [];

声明变量

var x; var y; var z = 3; 替换为var x, y, z=3;

多行字符串(几乎是 here-doc 样式)

替换:

var str = 'this';
var str += 'covers';
var str += 'multiple';
var str += 'lines';

与:

var str = 'this \
covers \
multiple \
lines";

你还用什么其他的?

【问题讨论】:

  • var str += 'covers'; 无效。数字转换方法肯定不相等,见Comparison between all number-conversion methods
  • @PlatinumAzure 我认为 OP 的意思是“允许在多行上写字符串”,因为建议的方法也不包括换行符。
  • 糟糕,完全正确。我将删除我的其他评论。
  • 请参阅github.com/mishoo/UglifyJS 的自述文件了解一些技巧。

标签: javascript shortcut


【解决方案1】:

这不是一个问题。

但你可以使用:

var a = {};

代替:

var a = new Object();

【讨论】:

    【解决方案2】:

    我认为其中之一将是对象创建:

    var obj = {};而不是 var obj = new Object();

    【讨论】:

      【解决方案3】:

      您可以使用列表推导。如果您创建范围方法,则特别有用:

      function range(n) {
        for (var i = 0; i < n; i++)
          yield i;
      }
      
      [2 * x for (x in range(100)) if (x * x > 3)]
      

      代替:

      var myArray = []
      
      for (x in range(100)){
      
          if (x * x > 3)
          {
              myArray.push(2*x);
          }
      
      }
      

      (示例取自wikipedia

      【讨论】:

      【解决方案4】:

      通过添加空字符串转换为字符串。示例:

      var n = 1;
      var s = 1 + '';
      

      【讨论】:

        【解决方案5】:

        缩短 if 条件块。

        发件人:

        var x;
        
        if (a) {
            x = a;
        } else if (b) {
            x = b;
        } else {
            x = 100;
        }
        

        到:

        x = a || b || 100;
        

        你也可以使用 && 来做类似的逻辑。

        【讨论】:

          猜你喜欢
          • 2011-10-15
          • 1970-01-01
          • 1970-01-01
          • 2010-10-13
          • 1970-01-01
          • 2011-07-12
          • 2011-11-29
          • 1970-01-01
          相关资源
          最近更新 更多