likes
comments
collection
share

JavaScript对象常用方法

作者站长头像
站长
· 阅读数 40

JavaScript中对象方法非常多,全部记忆不现实,但我们可以记住常用的对象方法。话不多说,下面依次列举Array对象、Boolean对象、Date对象、Math对象、Number对象、String对象的常用方法。

本文为对象常用方法,详细请转到MDN菜鸟教程

Array对象

  • 四大常用数组操作函数:pop()、shift()、push()、unshift(),用法自不必多说

改变原数组

splice( )

  • splice() 方法用于添加或删除数组中的元素

  • 注意: 这种方法会改变原始数组

  • 返回值:

    • 如果删除一个元素,则返回一个元素的数组
    • 如果未删除任何元素,则返回空数组
  • 语法:

    array.splice(index,howmany,item1,.....,itemX)
    
  • 参数:

    参数描述
    index必需。规定从何处添加/删除元素。 该参数是开始插入和(或)删除的数组元素的下标,必须是数字。(如果传递传递 undefined, 则会被转换为 0)
    howmany可选。规定应该删除多少元素。必须是数字,但可以是 "0"。 如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。
    item1, ..., itemX可选。要添加到数组的新元素

注意:使用splice()进行添加时,如果第二个参数为0,意思是不替换原数据;如果第二个参数为不为0,则直接替换元素

//情况一
let fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,1,"Lemon","Kiwi"); //['Banana', 'Orange', 'Lemon', 'Kiwi', 'Mango']

//情况二
let fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,2,"Lemon","Kiwi"); // ['Banana', 'Orange', 'Lemon', 'Kiwi']

sort( )

  • sort() 方法用于对数组的元素进行排序,排序顺序可以是字母或数字,并按升序或降,默认排序顺序为按字母升序

  • 注意: 当数字是按字母顺序排列时"40"将排在"5"前面

  • 使用数字排序,你必须通过一个函数作为参数来调用,函数指定数字是按照升序还是降序排列

  • 注意: 这种方法会改变原始数组

  • 返回值:

    • sort() 会修改原数组项的排序,sort() 结束后会返回一个数组结果,这个结果其实就是原数组。并不是说会返回一个新的数组
  • 语法:

    array.sort(sortfunction)
    
  • 参数:

    参数描述
    sortfunction可选。规定排序顺序,必须是函数。
  • 示例:

    //数字升序
    let points = [40,100,1,5,25,10];
    points.sort(function(a,b){return a-b});//降序只需要把a-b改为b-a
    
    //字符升序
    let fruits = ["Banana", "Orange", "Apple", "Mango"];
    fruits.sort(); //['Apple', 'Banana', 'Mango', 'Orange']
    fruits.reverse(); //将得到的字符串反转即可得到降序 ['Orange', 'Mango', 'Banana', 'Apple']
    

reverse( )

  • reverse() 方法用于颠倒数组中元素的顺序

  • 改变原数组

  • 返回值:

    • 返回颠倒后的原数组
  • 语法:

    array.reverse()
    
  • 参数:

    类型描述
    Array颠倒顺序后的数组
  • 示例:

    let fruits = ["Banana", "Orange", "Apple", "Mango"];
    fruits.reverse() //['Mango', 'Apple', 'Orange', 'Banana']
    

fill( )

  • fill() 方法用于将一个固定值替换数组的元素

  • 改变原数组

  • 返回值:

    • 返回改变后的原数组
  • 语法:

    array.fill(value, start, end)
    
  • 参数:

    参数描述
    value必需。填充的值。
    start可选。开始填充位置。
    end可选。停止填充位置 (默认为 array.length)
  • 示例:

    //写明start和end
    let fruits = ["Banana", "Orange", "Apple", "Mango"];
    fruits.fill("Runoob", 2, 4); //['Banana', 'Orange', 'Runoob', 'Runoob']
    
    //不写明
    let fruits = ['Banana', 'Orange', 'Apple', 'Mango'];
    fruits.fill('Runoob'); //['Runoob', 'Runoob', 'Runoob', 'Runoob']
    

不改变原数组

forEach( )

  • forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数

  • 注意: forEach() 对于空数组是不会执行回调函数的

  • 语法:

    array.forEach(callbackFn(currentValue, index, arr), thisValue)
    
  • 参数:

    参数描述
    callbackFn(currentValue, index, arr)必需。 数组中每个元素需要调用的函数。 函数参数:参数描述currentValue必需。当前元素index可选。当前元素的索引值。arr可选。当前元素所属的数组对象。
    thisValue可选。传递给函数的值一般用 "this" 值。 如果这个参数为空, "undefined" 会传递给 "this" 值

indexOf( )

  • indexOf() 方法可返回数组中某个指定的元素位置

  • 该方法将从头到尾地检索数组,看它是否含有对应的元素。开始检索的位置在数组 start 处或数组的开头(没有指定 start 参数时)。如果找到一个 item,则返回 item 的第一次出现的位置。开始位置的索引为 0。如果在数组中没找到指定元素则返回 -1

  • 语法:

    array.indexOf(item,start)
    
  • 参数:

    参数描述
    item必须。查找的元素。
    start可选的整数参数。规定在数组中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。

slice( )

  • slice() 方法可从已有的数组中返回选定的元素

  • slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分

  • 注意: slice() 方法不会改变原始数组

  • 返回值:

    • 返回一个新的数组,包含从 start(包括该元素) 到 end (不包括该元素)的 arrayObject 中的元素
  • 语法:

    array.slice(start, end)
    
  • 参数:

    参数描述
    start可选。规定从何处开始选取。如果该参数为负数,则表示从原数组中的倒数第几个元素开始提取,slice(-2) 表示提取原数组中的倒数第二个元素到最后一个元素(包含最后一个元素)。
    end可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果该参数为负数, 则它表示在原数组中的倒数第几个元素结束抽取。 slice(-2,-1) 表示抽取了原数组中的倒数第二个元素到最后一个元素(不包含最后一个元素,也就是只有倒数第二个元素)。
  • 示例:

    let fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
    let myBest = fruits.slice(-3,-1); // 截取倒数第三个(包含)到倒数第一个(不包含)的两个元素
    let myBest = fruits.slice(-3);  // 截取最后三个元素
    

concat( )

  • concat() 方法用于连接两个或多个数组

  • 该方法不会改变现有的数组,而是返回一个新的数组

  • 语法:

    array1.concat(array2, array3,..., arrayX)
    
  • 参数:

    参数描述
    array2, array3,..., arrayX必需。需要连接的数组。
  • 示例:

    const array1 = ['a', 'b', 'c'];
    const array2 = ['d', 'e', 'f'];
    const array3 = ['g', 'h', 'i'];
    const array4 = array1.concat(array2, array3);
     
    console.log(array4);  // 输出:['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
    

filter( )

  • filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素

  • 注意:filter() 不会对空数组进行检测

  • 注意:filter() 不会改变原始数组

  • 返回值:

    • 返回符合条件的新数组
  • 语法:

    array.filter(function(currentValue,index,arr), thisValue)
    
  • 参数:

    参数描述
    function(currentValue, index,arr)必须。函数,数组中的每个元素都会执行这个函数。函数参数: 参数描述currentValue必须。当前元素的值index可选。当前元素的索引值arr可选。当前元素属于的数组对象
    thisValue可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。 如果省略了 thisValue ,"this" 的值为 "undefined"
  • 示例:

    //获取全部偶数
    let arr = [56, 15, 48, 3, 7];
    let newArr = arr.filter(function (value, index, array) {
        return value % 2 === 0;
    });
    console.log(newArr)// [56, 48]
    
    //数组去重
    function unique(arr) {
      return arr.filter(function(item, index, arr) {
        //当前元素,在原始数组中的第一个索引==当前索引值,否则返回当前元素
        return arr.indexOf(item, 0) === index;
      });
    }
    var arr = [1,1,'RUNOOB','RUNOOB',true,true,15];
    console.log(unique(arr))// [1, "RUNOOB", true, 15]
    
    //去除数组空值
    let  newrr = ['','',1,2,3]
    var newArr = newrr.filter(item => item)//这里的return为判断条件,为真则放在新的数组中
    console.log(newArr)//[1,2,3]
    

map( )

  • map() 方法按照原始数组元素顺序依次处理元素(具有forEach遍历功能)

  • 注意:map() 不会对空数组进行检测

  • 注意:map() 不会改变原始数组

  • 返回值:

    • map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值
  • 语法:

    array.map(function(currentValue,index,arr), thisValue)
    
  • 参数:

    参数描述
    function(currentValue, index,arr)必须。函数,数组中的每个元素都会执行这个函数。函数参数: 参数描述currentValue必须。当前元素的值index可选。当前元素的索引值arr可选。当前元素属于的数组对象
    thisValue可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。 如果省略了 thisValue,或者传入 null、undefined,那么回调函数的 this 为全局对象。
  • 示例:

    //map对原数组加工
    [4, 9, 16, 25].map((item) => Math.sqrt(item)) //[2, 3, 4, 5]
    
    //面试题补充
    let newArr = ['1', '2', '3'].map(parseInt)
    console.log(newArr) //[1, NaN, NaN]
    /*
    原理:parseInt(string, radix),接收两个参数。string:要转化的字符串;radix:要转化的进制数(将这个字符串转为多少进制的数,默认为 10,即将字符串转为十进制的数),radix 的范围 为 2-36的整数, 超出这个返回将返回 NaN。
    当 map() 中的函数可以接收参数时,map() 函数会自动把参数传递进去,所以三次执行顺序,parseInt() 接收的三次参数分别是:[parseInt('1', 0), parseInt('2', 1), parseInt('3', 2)]
    */
    
  • 相同点:filter 和 map 都是对数组的操作,均返回一个新的数组
  • 不同点:filter是满足条件的留下,是对原数组的过滤;map则是对原数组的加工,映射成一一映射的新数组

join( )

  • join() 方法用于把数组中的所有元素转换一个字符串

  • 元素是通过指定的分隔符进行分隔的

  • 不改变原数组

  • 返回值:

    • 返回一个字符串。该字符串是通过把 arrayObject 的每个元素转换为字符串,然后把这些字符串连接起来,在两个元素之间插入 separator(分隔符) 字符串而生成的
  • 语法:

    array.join(separator)
    
  • 参数:

    参数描述
    separator可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。
  • 示例:

    //无参数
    let fruits = ['Banana', 'Orange', 'Apple', 'Mango'];
    console.log(fruits.join()); //Banana,Orange,Apple,Mango
    
    //有参数
    let fruits = ["Banana", "Orange", "Apple", "Mango"];
    let energy = fruits.join(" and ");
    console.log(energy);//Banana and Orange and Apple and Mango
    

reduce( )

  • reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值

  • reduce() 可以作为一个高阶函数,用于函数的 compose

  • 注意: reduce() 对于空数组是不会执行回调函数的

  • 不改变原数组

  • 语法:

    array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
    
  • 参数:

    参数描述
    function(total,currentValue, index,arr)必需。用于执行每个数组元素的函数。 函数参数:参数描述total必需。初始值, 或者计算结束后的返回值。currentValue必需。当前元素currentIndex可选。当前元素的索引arr可选。当前元素所属的数组对象。
    initialValue可选。传递给函数的初始值
  • 示例:

    let numbers = [65, 44, 12, 4];
    
    function getSum(total, num) {
        return total + num;
    }
    function myFunction(item) {
        return numbers.reduce(getSum);
    }
    console.log(myFunction());
    

String对象

  • String 对象用于处理文本(字符串)

  • String 对象创建方法: new String()

  • 语法:

    let txt = new String("string");
    let txt = "string";
    

正则相关

search( )

  • search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串

  • 如果没有找到任何匹配的子串,则返回 -1

  • 返回值:

    • 与指定查找的字符串或者正则表达式相匹配的 String 对象起始位置
  • 语法:

    string.search(searchvalue)
    
  • 参数:

    参数描述
    searchvalue必须。查找的字符串或者正则表达式。
  • 示例:

    //执行一次对大小写敏感的查找:
    let str="Mr. Blue has a blue house";
    console.log(str.search("blue")); //15
    
    //执行一次忽略大小写的检索:
    let str="Mr. Blue has a blue house";
    console.log(str.search(/blue/i)); //对大小匹配不敏感,4
    

match( )

  • match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配

  • 注意: match() 方法将检索字符串 String Object,以找到一个或多个与 regexp 匹配的文本。这个方法的行为在很大程度上有赖于 regexp 是否具有标志 g。如果 regexp 没有标志 g,那么 match() 方法就只能在 stringObject 中执行一次匹配。如果没有找到任何匹配的文本, match() 将返回 null。否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息

  • 返回值:

    • 存放匹配结果的数组。该数组的内容依赖于 regexp 是否具有全局标志 g。 如果没找到匹配结果返回 null
  • 语法:

    string.match(regexp)
    
  • 参数:

    参数描述
    regexp必需。规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。
  • 示例:

    let str="The rain in SPAIN stays mainly in the plain"; 
    let n=str.match(/ain/gi); //ain,AIN,ain,ain
    

replace( )

  • replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串

  • 该方法不会改变原始字符串

  • 返回值:

    • 一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的
  • 语法:

    string.replace(searchvalue,newvalue)
    
  • 参数:

    参数描述
    searchvalue必须。规定子字符串或要替换的模式的 RegExp 对象。 请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。
    newvalue必需。一个字符串值。规定了替换文本或生成替换文本的函数。
  • 示例:

    //正则全局替换
    let str = "Mr Blue has a blue house and a blue car";
    let n = str.replace(/blue/g,"red");
    
    //基本用法
    let str = "Visit Microsoft! Visit Microsoft!";
    let n = str.replace("Microsoft","Runoob"); //Visit Runoob!Visit Microsoft!
    

split( )

  • split() 方法用于把一个字符串分割成字符串数组

  • 如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割

  • 注意: split() 方法不改变原始字符串

  • 返回值:

    • 一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 string Object 分割成子串创建的。返回的数组中的字串不包括 separator 自身
  • 语法:

    string.split(separator,limit)
    
  • 参数:

    参数描述
    separator可选。字符串或正则表达式,从该参数指定的地方分割 string Object
    limit可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
  • 示例:

    //省略分割参数
    let str1 = "How are you doing today?";
    let n1 = str1.split();//['How are you doing today?']
    
    //分割每个字符,包括空格
    let str2 = "How are you doing today?";
    let n2 = str2.split(""); //['H', 'o', 'w', ' ', 'a', 'r', 'e', ' ', 'y', 'o', 'u', ' ', 'd', 'o', 'i', 'n', 'g', ' ', 't', 'o', 'd', 'a', 'y', '?']
    
    //使用 limit 参数
    let str3 = "How are you doing today?";
    let n3 = str3.split(" ",3); //['How', 'are', 'you']
    
    //使用一个字符作为分隔符
    var str4 ="How are you doing today?";
    var n4 = str4.split("o"); //['H', 'w are y', 'u d', 'ing t', 'day?']
    

基本方法

charAt( )

  • charAt() 方法可返回指定位置的字符

  • 第一个字符位置为 0,第二个字符位置为 1,以此类推

  • 返回值:

    • 返回在指定位置的字符(不能修改!)
  • 语法:

    string.charAt(index)
    
  • 参数:

    参数描述
    index必需。表示字符串中某个位置的数字,即字符在字符串中的位置。
  • 示例:

    let str = "HELLO WORLD";
    let n = str.charAt(2) //L
    

concat( )

  • concat() 方法用于连接两个或多个字符串

  • 该方法没有改变原有字符串

  • 返回值:

    • 返回连接两个或多个字符串新字符串
  • 语法:

    string.concat(string1, string2, ..., stringX)
    
  • 参数:

    参数描述
    string1, string2, ..., stringX必需。将被连接为一个字符串的一个或多个字符串对象。
  • 示例:

    let str1="Hello ";
    let str2="world!";
    let str3=" Have a nice day!";
    let n = str1.concat(str2,str3); //Hello world! Have a nice day!
    

endsWith( )

  • endsWith() 方法用来判断当前字符串是否是以指定的子字符串结尾的(区分大小写)

  • 如果传入的子字符串在搜索字符串的末尾则返回 true,否则将返回 false

  • 返回值:

    • 如果字符串以指定的值结尾返回 true,否则返回 false
  • 语法:

    string.endsWith(searchvalue, length)
    
  • 参数:

    参数描述
    searchvalue必需,要搜索的子字符串。
    length设置字符串的长度。默认值为原始字符串长度 string.length
  • 示例:

    let str = "To be, or not to be, that is the question.";
    
    str.endsWith("question.");  // true
    str.endsWith("to be");      // false
    str.endsWith("to be", 19);  // true
    

startWith()用法与endWith()类似,这里不再赘述

indexOf( )

  • indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置

  • 注意: indexOf() 方法区分大小写

  • 返回值:

    • 查找指定字符串第一次出现的位置,如果没找到匹配的字符串则返回 -1
  • 语法:

    string.indexOf(searchvalue,start)
    
  • 参数:

    参数描述
    searchvalue必需。规定需检索的字符串值。
    start可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 string Object.length - 1。如省略该参数,则将从字符串的首字符开始检索。
  • 示例:

    //不带start参数
    let str = "Hello world, welcome to the universe.";
    let n = str.indexOf("e"); //1
    
    //带start参数
    let str = "Hello world, welcome to the universe.";
    let n = str.indexOf("e",5); //14
    

includes( )

  • includes() 方法用于判断字符串是否包含指定的子字符串

  • 注意: includes() 方法区分大小写

  • 返回值:

    • 如果找到匹配的字符串返回 true,否则返回 false
  • 语法:

    string.includes(searchvalue, start)
    
  • 参数:

    参数描述
    searchvalue必需,要查找的字符串。
    start可选,设置从那个位置开始查找,默认为 0。
  • 示例:

    let str = "Hello world, welcome to the Runoob.";
    let n = str.includes("world", 12); //false
    

repeat( )

  • repeat() 方法字符串复制指定次数

  • 返回值:

    • 返回复制指定次数并连接在一起的字符串
  • 语法:

    string.repeat(count)
    
  • 参数:

    参数描述
    count必需,设置要复制的次数。
  • 示例:

    let str = "Runoob";
    str.repeat(2); //RunoobRunoob
    

slice( )

  • slice(start, end) 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分

  • 返回值:

    • 提取的字符串
  • 语法:

    string.slice(start,end)
    
  • 参数:

    参数描述
    start必须。 要抽取的片断的起始下标,第一个字符位置为 0。如果为负数,则从尾部开始截取。
    end可选。 紧接着要截取的片段结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。slice(-2) 表示提取原数组中的倒数第二个元素到最后一个元素(包含最后一个元素)。
  • 示例:

    //提取所有字符串
    let str = "Hello world!";
    let n = str.slice(0); //Hello world!
    
    //从字符串的第3个位置提取字符串片段
    let str = "Hello world!";
    let n = str.slice(3); //lo world!
    
    //从字符串的第3个位置到第8个位置直接的字符串片段
    let str = "Hello world!";
    let n = str.slice(3,8); //lo wo
    
    //提取最后一个字符和最后两个字符(-1 + str.length)、(-2 + str.length)
    let str = "Hello world!";
    let n = str.slice(-1); //!
    let n2 = str.slice(-2); //d!
    

substring( )

  • substring() 方法用于提取字符串中介于两个指定下标之间的字符

  • substring() 方法返回的子串包括 开始 处的字符,但不包括 结束 处的字符

  • 不改变原字符串

  • 返回值:

    • 返回对应的子串
  • 语法:

    string.substring(from, to)
    
  • 参数:

    参数描述
    from必需。一个非负的整数,规定要提取的子串的第一个字符在 string Object 中的位置。
    to可选。一个非负的整数,比要提取的子串的最后一个字符在 string Object 中的位置多 1(不包含to)。 如果省略该参数,那么返回的子串会一直到字符串的结尾。
  • 示例:

    let str="Hello world!";
    console.log(str.substring(3)); //lo world!
    console.log(str.substring(3,7)); //lo w
    

toLowerCase( )

  • toLowerCase() 方法用于把字符串转换为小写

  • 返回值:

    • 改变原字符串,返回转换后的字符串
  • 语法:

    string.toLowerCase()
    
  • 示例:

    let str="Runoob";
    console.log(str.toLowerCase());
    

字符全部转换为大写:toUpperCase()

trim( )

  • trim() 方法用于删除字符串的头尾空白符,空白符包括:空格、制表符 tab、换行符等其他空白符等

  • trim() 方法不会改变原始字符串

  • trim() 方法不适用于 null, undefined, Number 类型

  • 返回值:

    • 返回移除头尾空格的字符串
  • 语法:

    string.trim()
    
  • 示例:

    var str = "       Runoob        ";
    console.log(str.trim());//Runoob
    

Number对象

  • Number 对象是原始数值的包装对象

  • Number 创建方式 new Number()

  • 语法:

    let num = new Number(value);
    //注意: 如果一个参数值不能转换为一个数字将返回 NaN (非数字值)
    
  • Number常见属性

    属性描述
    MAX_VALUE可表示的最大的数。
    MIN_VALUE可表示的最小的数。
    NEGATIVE_INFINITY负无穷大,溢出时返回该值。
    NaN非数字值。
    POSITIVE_INFINITY正无穷大,溢出时返回该值。
  • Number常见方法:

    方法描述
    isFinite检测指定参数是否为无穷大。
    isInteger检测指定参数是否为整数。
    isNaN检测指定参数是否为 NaN。
    isSafeInteger检测指定参数是否为安全整数。
    toFixed(x)把数字转换为字符串,结果的小数点后有指定位数的数字。
    toString()把数字转换为字符串,使用指定的基数。
    valueOf()返回一个 Number 对象的基本数字值。

Boolean对象

toString( )

  • toString() 方法可把一个逻辑值转换为字符串,并返回结果

  • 注意: 当需要把Boolean对象转换成字符串的情况JavaScript会自动调用此方法

  • 语法:

    boolean.toString()
    
  • 参数:

    Type描述
    String"true" 或者 "false"

valueOf( )

  • valueOf() 方法可返回 Boolean 对象的原始值

  • 返回值:

    • true 或者false
  • 语法:

    boolean.valueOf()
    

Date对象

  • Date 对象用于处理日期与时间

  • 创建对象:

    const d = new Date();
    const d = new Date(milliseconds); // 参数为毫秒
    const d = new Date(dateString);
    const d = new Date(year, month, day, hours, minutes, seconds, milliseconds);
    
    • milliseconds 参数是一个 Unix 时间戳(Unix Time Stamp),它是一个整数值,表示自 1970 年 1 月 1 日 00:00:00 UTC(the Unix epoch)以来的毫秒数
    • dateString 参数表示日期的字符串值
    • year, month, day, hours, minutes, seconds, milliseconds 分别表示年、月、日、时、分、秒、毫秒
  • 获取时间戳:

    //方法一
    const date = new Date()
    date.getTime()
    
    //方法二
    +new Date() //本质为强转为数字
    
    //方法三
    Date.now() //只能获取当前时间戳
    
  • Date对象常用方法:

    方法描述
    getDate()从 Date 对象返回一个月中的某一天 (1 ~ 31)。
    getDay()从 Date 对象返回一周中的某一天 (0 ~ 6)。
    getFullYear()从 Date 对象以四位数字返回年份。
    getHours()返回 Date 对象的小时 (0 ~ 23)。
    getMilliseconds()返回 Date 对象的毫秒(0 ~ 999)。
    getMinutes()返回 Date 对象的分钟 (0 ~ 59)。
    getMonth()从 Date 对象返回月份 (0 ~ 11)。
    getSeconds()返回 Date 对象的秒数 (0 ~ 59)。
    getTime()返回 1970 年 1 月 1 日至今的毫秒数。
    parse()返回1970年1月1日午夜到指定日期(字符串)的毫秒数。
    setDate()设置 Date 对象中月的某一天 (1 ~ 31)。
    setFullYear()设置 Date 对象中的年份(四位数字)。
    setHours()设置 Date 对象中的小时 (0 ~ 23)。
    setMilliseconds()设置 Date 对象中的毫秒 (0 ~ 999)。
    setMinutes()设置 Date 对象中的分钟 (0 ~ 59)。
    setMonth()设置 Date 对象中月份 (0 ~ 11)。
    setSeconds()设置 Date 对象中的秒钟 (0 ~ 59)。
    setTime()setTime() 方法以毫秒设置 Date 对象。
    toDateString()把 Date 对象的日期部分转换为字符串。
    toLocaleDateString()根据本地时间格式,把 Date 对象的日期部分转换为字符串。
    toLocaleTimeString()根据本地时间格式,把 Date 对象的时间部分转换为字符串。
    toLocaleString()根据本地时间格式,把 Date 对象转换为字符串。
    toString()把 Date 对象转换为字符串。
    toTimeString()把 Date 对象的时间部分转换为字符串。

Math对象

  • Math 对象用于执行数学任务

  • Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math( )

  • Math对象方法:

    方法描述
    abs(x)返回 x 的绝对值。
    acos(x)返回 x 的反余弦值。
    asin(x)返回 x 的反正弦值。
    atan(x)以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。
    atan2(y,x)返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。
    ceil(x)对数进行上舍入。
    cos(x)返回数的余弦。
    exp(x)返回 Ex 的指数。
    floor(x)对 x 进行下舍入。
    log(x)返回数的自然对数(底为e)。
    max(x,y,z,...,n)返回 x,y,z,...,n 中的最高值。
    min(x,y,z,...,n)返回 x,y,z,...,n中的最低值。
    pow(x,y)返回 x 的 y 次幂。
    random()返回 0 ~ 1 之间的随机数。
    round(x)四舍五入。
    sin(x)返回数的正弦。
    sqrt(x)返回数的平方根。
    tan(x)返回角的正切。
    tanh(x)返回一个数的双曲正切函数值。
    trunc(x)将数字的小数部分去掉,只保留整数部分。
转载自:https://juejin.cn/post/7237065395941785659
评论
请登录