zoukankan      html  css  js  c++  java
  • 看一个人的回答有感(怎么判断数组中有没有未定义的值,如:[,,1,,3])

    之前在一个网站上面看到别人问这样一个问题,我就打开进去看,看到其中一个人的回答是这样子的:

    Array.prototype.hasVal = function(val) {
      var i = 0, n = this.length;
      for (; i < n; ++i) if (this[i] === val) return true;
      return false;
    }
     
    console.log([,,1,,3].hasVal(undefined));

    我看是看的懂,但是我自己写的话,肯定就写不出这个厉害的代码了,首先Array.prototype.hasVal我觉得有些像是构造函数似的(当时还不懂原型),其次,他把var i =0写到外面,我觉得这样的话,就弄成了变量放到外面,下次如果别人要改什么东西的话就可以集中一起改了。第三,他判断的是this[i]===val,而val是方法传进来的参数,这样就很灵活,下次你要用这个方法的时候,还可以传其他的参数,就不只是局限于只能判断undefined了。

    最后:别人的代码这么厉害,随便一写也含有深意,我还有很长的路要走啊。

    好记性不如烂笔头,看到自己觉得应该记录的知识点,结合自己的理解进行记录,用于以后回顾。
  • 相关阅读:
    对拍
    311随笔
    精彩才刚刚开始
    做不下去了,就开心一下吧。
    情书
    论Sue这个人呐(=@__@=)
    P1113 杂务
    P1546 最短网络 Agri-Net
    P2009 跑步
    P2814 家谱
  • 原文地址:https://www.cnblogs.com/wangxi01/p/6228842.html
Copyright © 2011-2022 走看看