javascript常用对象方法

 concat:连接产生一个新数组

     [1,2].concat([3,4])
     >> [1, 2, 3, 4]

 

filter:返回符合条件的一个新数组

     [1,2,3,4,5].filter(function aa(item){return item>3})
     >> [4, 5]

 

indexOf:寻找元素所在的坐标    

     [1,2,3,4].indexOf(3)
     >>2           //没有则返回-1

 

join:数组转为字符串

      [1,2,3,4].join()
      >> "1,2,3,4"
      [1,2,3,4].join('——')
      >>"1——2——3——4"

 

map:批量处理数组元素

      [1,2,3].map(function aa(item){return item+1})
      >>[2, 3, 4]

 

 pop():删除数组最后一个元素

       var a=[1,2,3]
       a.pop() ----> 3
       a ----> [1, 2]

 

push():尾部添加元素   

      var a=[1,2,3]
      a.push('Hey')  ---->  4   //数组的新长度
      a ----->  [1, 2, 3, "Hey"]

 

reverse():反转数组

      [1,2,3].reverse()
      [3, 2, 1]

 

shift():删除头部元素

     var a=[1,2,3]
     a.shift() ----->  1
     a  ----->   [2, 3]

 

slice():截取一部分,返回一个新数组

       [0,1,2,3,4].slice(1,3)
       >>[1, 2]

 

sort():数组排序

       [11,3,5,40].sort()
       >>[11, 3, 40, 5]  //40在5前面

       [11,3,5,40].sort(function(a,b){return a-b})
       >> [3, 5, 11, 40]

 

splice():删除与添加

       var a=[1,2,3]
       a.splice(1,1,'A','B') ----> [2]  //返回被删除的元素
       a ----->  [1, "A", "B", 3]

   删除指定位置元素:

  var aa=[1,2,3,4]
  aa.splice(2,1)
  aa --> [1, 2, 4]

  

unshift():头部添加元素

       var aa=[1,2,3]
       aa.unshift(-1,0) ----> 5
       aa ----> [-1, 0, 1, 2, 3]

includes():数组是否包含一个指定的值

  

   let site = ['runoob', 'google', 'taobao'];

   site.includes('runoob');    //true

 判断是否是数组:

  

ES6:
Array.isArray([]); // => true

Array.isArray的polyfill通常长这样:

if (!Array.isArray){ 
    Array.isArray = function(arg){ 
        return Object.prototype.toString.call(arg) === '[object Array]'; 
    }; 
}

字符串对象:

     length:字符串长度

              'abc'.length
              >>3

    charAt():根据字符位置查找字符

              'abcd'.charAt(2)

              >>"c"

    concat():拼接字符串

             'abc'.concat('123')
             >>"abc123"

     indexOf:查找字符所在的坐标

             '123'.indexOf('2')
             >>1  //没有则返回-1

      match() :检索指定的值

      replace():替换字符串

            var a='123abcc'
            var n=a.replace('c','WW')
            a  ----->  "123abcc"
            n  ----->  "123abWWc"
            var a='123abcc'
            var n=a.replace(/c/g,'WW')
            n  ----->  "123abWWWW"

        slice(): 提取部分字符串

            'abcd'.slice(1,3)  ----->  "bc"  //局部截取

            'abcd'.slice(1)  ----->  "bcd"   //x到尾

            'abcd'.slice(-1)  -----> "d"  //最后一个

        split():把字符串分割成字符串数组

             'a b a'.split(' ')   ----->  ["a", "b", "a"]   //返回一个新的数组,不影响原字符串

        substr(x,y) : 提取x始y个字符串

             'abcde'.substr(2,3)   ------>  "cde"

        substring(a,b) : 提取a始b前的部分字符串

            'abcde'.substring(1,3)  ------>  "bc"

        字母大小转换:

              'abCD'.toLocaleLowerCase()  ------>  "abcd"

              'abCD'.toUpperCase()  ------> "ABCD"

     

        去除两端空白:

              ' a '.trim() ----->  "a"

Js判断对象是否为空:

   1.通过JSON自带的.stringify方法来判断:

        

   3.ES6新增的方法Object.keys():

        

date对象:

       获取今年的年份:

             new Date().getFullYear()  ----->  2019

       返回当前月份数

              new Date().getMonth() -----> 0 

       获取今天的天数:

            (new Date()).getDate() ----->  21

       获取星期几的数字:

            (new Date()).getDay() ----->  1   //星期一

       返回当前小时数:

             new Date().getHours()  -----> 14 

       返回当前的分钟数

             new Date().getMinutes() -----> 28

       获取历史累计毫秒数:

              new Date().getTime()  ------> 1548052377509

              new Date('2019/01/21').getTime()   ------> 1548000000000

              new Date('2018-08-10 17:00').getTime()  ------> 1533891600000

      获取今天的时间:

              new Date(Date.parse(new Date()))

              >>Mon Jan 28 2019 10:13:26 GMT+0800 (中国标准时间)

      获取前一天:

              new Date(Date.parse(new Date())-1000*60*60*24)
              >>Sun Jan 27 2019 10:14:09 GMT+0800 (中国标准时间)

全局函数:        

         isNaN() : 检查参数是否非数值

               [isNaN(0), isNaN(2.3), isNaN('abc')]  ------->   [false, false, true]

         Number():把对象转为数字     

               [Number(true), Number(false), Number('999 8'), Number('999a'), Number(new Date())]
               >> [1, 0, NaN, NaN, 1548053176183]

         parseFloat():返回字符串中的数字

               [parseFloat("40years"), parseFloat("a40"), parseFloat("1.22")]
               >>[40, NaN, 1.22]

         parseInt():字符串转为数字

               [parseInt("10"), parseInt("10as")]
               >> [10, 10]

        String():把对象转为字符串

               String(true)  ------->   "true"

document对象:

        获取当前获取焦点元素:

               document.activeElement.tagName

        返回文档中的body元素:

               document.body

        获取与当前文档有关的cookie:

               document.cookie

        创建 class 属性节点, 属性值为 "democlass":

               var att=document.createAttribute("class");
               att.value="democlass";
       
        创建元素节点:
               var btn=document.createElement("BUTTON");
               var t=document.createTextNode("CLICK ME");
               btn.appendChild(t);
    
        获取符合类名的元素集合:
               document.getElementsByClassName("className");
 
        获取符合ID的元素:
               document.getElementById("demo");
 
        获取符合标签名的元素集合:
               document.getElementsByTagName()
 
        先进选择器:
              document.querySelector()
              document.querySelectorAll()
 
        获取文档标题:
              document.title
 
 
Dom元素对象:
        
       添加事件:
            document.getElementById("myBtn").addEventListener("click", function(){ ....})
  
       添加子元素:
            document.getElementById("myList").appendChild(newListItem);
 
       获取样式名类数组:
            document.getElementById("myDIV").classList.add("mystyle");
 
        返回元素样式属性的字符串:
             element.className
 
        返回元素可视高度:
             element.clientHeight
 
        元素克隆:
             document.getElementById("myList2").lastChild.cloneNode(true);  //true:包括当前元素的所有子孙节点
 
        返回元素的第一个元素:
             element.firstChild
         
        元素获取焦点:
             element.focus()
 
        返回元素某属性值:
             element.getAttribute()
 
        设置或返回元素id:
             element.id
 
       设置或返回元素内容:
             element.innerHTML
 
       在某父元素的某子元素前插入元素:
             parentElement.insertBefore(newElement , targetElement)
 
       获取子元素数组:
            list.childNodes[0]
  
       返回最后一个元素:
            element.lastChild
   
       返回紧跟的元素:
            element.nextSibling
 
      返回元素的标记名:
           element.nodeName
 
      返回元素高度:
           element.offsetHeight
 
      元素的相对偏移:
           element.offsetLeft
 
      删除指定子元素:
          list.removeChild(list.childNodes[0]);
 
     返回元素高度,包括滚动高度:
           element.scrollHeight
 
    获取或设置一个元素的内容垂直滚动的像素数:
          element.scrollTop
 
 
 
 file对象:
 

HTML5新增<input file>控件

  利用此控件,用户可以一次上传一个或者多个文件,当文件被选中以后,会生成集合(FileList对象)。

  集合中的每一个元素就是一个File对象

默认<input file>一次只能上传一个文件,需要添加multiple属性

 

    lastModified : File 对象所引用文件最后修改时间(毫秒数)
    lastModifiedDate 引用文件最后修改时间的 Date 对象。
    name:引用文件的名字。
    size: 返回文件的大小。
    webkitRelativePath :返回 File 相关的 path 或 URL。
    type :文件的类型

实例:

   
FormData对象
  用途:

  1.用一些键值对来模拟一系列表单控件:即把form中所有表单元素的namevalue组装成一个queryString

  2.异步上传二进制文件;

 
 
原文地址:https://www.cnblogs.com/thing/p/10287891.html