• Javascript中一些经常忘记的基础知识


    今天终于静下心来,决定整理一下自己从学js以来容易忘记的知识点。基础是万丈高楼的核心。而后的每一处失败都是基础不够好导致的问题,

    加油。

    1.substring()---字符串的方法

    ----返回指定索引区间的子串:

    var s = 'hello, world'
    s.substring(0, 5); // 从索引0开始到5(不包括5),返回'hello'
    s.substring(7); // 从索引7开始到结束,返回'world'

    2.slice--数组中的方法

    ----它截取Array的部分元素,然后返回一个新的Array:

      【slice()就是对应String的substring()版本】

      var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
      arr.slice(0, 3); // 从索引0开始,到索引3结束,但不包括索引3: ['A', 'B', 'C']
      arr.slice(3); // 从索引3开始到结束: ['D', 'E', 'F', 'G']

    注意到slice()的起止参数包括开始索引,不包括结束索引。
    如果不给slice()传递任何参数,它就会从头到尾截取所有元素。利用这一点,我们可以很容易地复制一个Array:

      var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
      var aCopy = arr.slice();
      aCopy; // ['A', 'B', 'C', 'D', 'E', 'F', 'G']
      aCopy === arr; // false

    3.splice--数组中的方法

    ----是修改Array的“万能方法”,它可以从指定的索引开始删除若干元素,然后再从该位置添加若干元素:

      var arr = ['Microsoft', 'Apple', 'Yahoo', 'AOL', 'Excite', 'Oracle'];
      // 从索引2开始删除3个元素,然后再添加两个元素:
        arr.splice(2, 3, 'Google', 'Facebook'); // 返回删除的元素 ['Yahoo', 'AOL', 'Excite']
        arr; // ['Microsoft', 'Apple', 'Google', 'Facebook', 'Oracle']

      // 只删除,不添加 :

        var arr = ['Microsoft', 'Apple', 'Google', 'Facebook', 'Oracle']
        arr.splice(2, 2); // ['Google', 'Facebook']
        arr; // ['Microsoft', 'Apple', 'Oracle']

      // 只添加,不删除 :

        var arr = ['Microsoft', 'Apple', 'Oracle']
        arr.splice(2, 0, 'Google', 'Facebook'); // 返回[],因为没有删除任何元素
        arr; // ['Microsoft', 'Apple', 'Google', 'Facebook', 'Oracle']

    (总结:如果splice的第二个参数不为0,则代表删除,为0则代表添加元素,并且splice的返回值是删除掉的元素,如果第二个参数为0的话则返回空数组)

     4.concat

    ----把当前的Array和另一个Array连接起来,并返回一个新的Array:

      var arr = ['A', 'B', 'C'];
      var added = arr.concat([1, 2, 3]);

      added; // ['A', 'B', 'C', 1, 2, 3]
      arr; // ['A', 'B', 'C']

    ! 请注意,concat()方法并没有修改当前Array,而是返回了一个新的Array

      实际上,concat()方法可以接收任意个元素和Array,并且自动把Array拆开,然后全部添加到新的Array里:
      var arr = ['A', 'B', 'C'];
      arr.concat(1, 2, [3, 4]); // ['A', 'B', 'C', 1, 2, 3, 4]
    !但是当接受到数组里套数组的时候则只会拆开最外层的数组

    5.要判断一个属性是否是xiaoming自身拥有的,而不是继承得到的,可以用hasOwnProperty()方法:

      var xiaoming = {
        name: '小明'
       };
      xiaoming.hasOwnProperty('name'); // true
      xiaoming.hasOwnProperty('toString'); // false

    6.JavaScript把null、undefined、0、NaN和空字符串''视为false,其他值一概视为true

  • 相关阅读:
    【Java】Caused by: com.ibatis.sqlmap.client.SqlMapException: There is no statement named *** in this SqlMap.
    【Mac】Mac 使用 zsh 后, mvn 命令无效
    【Java】Exception thrown by the agent : java.rmi.server.ExportException: Port already in use: 1099
    【Android】drawable VS mipmap
    【Android】java.lang.SecurityException: getDeviceId: Neither user 10065 nor current process has android.permission.READ_PHONE_STATE
    java sql解析
    java动态编译
    随想
    一致hash算法
    一致性哈希算法及其在分布式系统中的应用
  • 原文地址:https://www.cnblogs.com/webstufx/p/8084466.html
Copyright © 2020-2023  润新知