一些代码的简化

作者: 你期待的花开 | 来源:发表于2017-06-05 22:36 被阅读49次

JavaScript定义对象和数组非常简单,我们想要创建一个对象,一般是这样写的:

var car = new Object();
car.colour = 'red';
car.wheels = 4;
car.hubcaps = 'spinning';
car.age = 4;

下面的写法可以达到同样的效果:

var car = {
    colour:'red',
    wheels:4,
   hubcaps:'spinning',
   age:4
} 

后面的写法要短得多,而且你不需要重复写对象名称。

另外对于数组同样有简洁的写法,过去我们声明数组是这样写的:

var moviesThatNeedBetterWriters = new Array(
  'Transformers','Transformers2','Avatar','Indiana Jones 4'
); 

更简洁的写法是:

var moviesThatNeedBetterWriters = [
  'Transformers','Transformers2','Avatar','Indiana Jones 4'
]; 

对于数组,还有关联数组这样一个特别的东西。 你会发现很多代码是这样定义对象的:

var car = new Array();
car['colour'] = 'red';
car['wheels'] = 4;
car['hubcaps'] = 'spinning';
car['age'] = 4; 

其实,“关联数组”只是对象的一个别名而已。

另外一个简化代码的方法是使用三元运算符,举个例子:

var direction;
if(x < 200){
  direction = 1;
} else {
  direction = -1;
} 

我们可以使用如下的代码替换这种写法:

var direction = x < 200 ? 1 : -1;

要找一组数字中的最大数,我们可能会写一个循环,例如:

var numbers = [3,342,23,22,124];
var max = 0;
for(var i=0;i<numbers.length;i++){
  if(numbers[i] > max){
    max = numbers[i];
  }
}
alert(max);

其实,不用循环可以实现同样的功能:

var numbers = [3,342,23,22,124];
numbers.sort(function(a,b){return b - a});
alert(numbers[0]); 

而最简洁的写法是:

Math.max(12,123,3,2,433,4); //  433

你甚至可以使用Math.max来检测浏览器支持哪个属性:

var scrollTop= Math.max( doc.documentElement.scrollTop,doc.body.scrollTop); 

如果你想给一个元素增加class样式,可能原始的写法是这样的:

function addclass(elm,newclass){
  var c = elm.className;
  elm.className = (c === '') ? newclass : c+' '+newclass; 
}

而更优雅的写法是:

function addclass(elm,newclass){
  var classes = elm.className.split(' ');
  classes.push(newclass);
  elm.className = classes.join(' ');
}

相关文章

  • 一些代码的简化

    JavaScript定义对象和数组非常简单,我们想要创建一个对象,一般是这样写的: 下面的写法可以达到同样的效果:...

  • 简化代码

    1.android studio 快速删除无用的import包 https://blog.csdn.net/bzl...

  • 代码简化

    lombok 库是一个使用java注解,自动生成getter和setter方法的库官网 https://proje...

  • {C#}构造器

    背景 生产环境时,简化代码。 单测环境时,简化代码。

  • js:倒计时(天时分秒)

    html代码(简化): js代码:

  • js:点击别处隐藏div

    html代码(简化): js代码:

  • 1、学习正则表达式

    作用:用于专门操作字符串 特点:用一些特定的符号来表示一些代码操作,简化书写 好处:可以简化对字符串的复杂操作 具...

  • iOS开发中一些简化代码的宏定义

    前言 今天将一些简化工程代码的宏定义拿出来分享一下,如果大家也有简化代码的相关经验也可以一起来交流。 Applic...

  • 简化代码的步骤

    软著行距 =》其他 =》固定值 =》13磅 vscodectrl+shift+f搜索 并勾上正则 去掉/**/注释...

  • 代码简化之路

    这段时间一直在啃算法,很久都没有写过文章了,主要是算法这东西被人反反复复写,水平高低的文章都有,我也就不想凑这个热...

网友评论

    本文标题:一些代码的简化

    本文链接:https://www.haomeiwen.com/subject/timwfxtx.html