zoukankan      html  css  js  c++  java
  • js 常用类和方法

    包装类

    在JS中为我们提供了三个包装类:
    String() Boolean() Number()
    这三个也是 构造函数

    通过这三个包装类可以创建基本数据类型的对象
    例子:

    var num = new Number(2);  
    var str = new String("hello");  
    var bool = new Boolean(false);
    
    console.log(2 == num);	// false
    console.log(false === bool);	// false
    

    但是在实际应用中千万不要这么干。

    当我们去操作一个基本数据类型的属性和方法时,
    解析器会临时将其转换为对应的包装类,然后再去操作属性和方法,
    操作完成以后再将这个临时对象进行销毁。

    var s = 123;
    s = s.toString();
    // 这里是解析器将 s 通过包装类转换为了对象,再调用方法,完了再转回来
    

    所以包装类是浏览器底层自己用的,临时将基本数据类型转换为相应的对象
    例如 string 数据类型就可以调用 String对象的方法

    Date

    日期的对象,在JS中通过Date对象来表示一个时间
    它是一个构造函数,可以创建对象

    // 创建一个当前时间的对象  
    var d = new Date();
    
    // 创建一个指定的时间对象  
    var d = new Date("月/日/年 时:分:秒");  
    

    方法:

    方法名 描述
    .getDate() 当前日期对象的几号(1-31)
    .getDay() 返回当前日期对象的周几(0-6)
    0 周日
    1 周一 ...
    .getMonth() 返回当前日期对象的月份(0-11)
    0 一月
    1 二月 ...
    .getFullYear() 从 Date 对象以四位数字返回年份。
    .getHours() 返回 Date 对象的小时 (0 ~ 23)。
    .getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。
    .getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。
    .getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。
    .getTime() 返回当前日期对象的时间戳
    时间戳,指的是从1970年月1日 0时0分0秒,到现在时间的毫秒数
    计算机底层保存时间都是以时间戳的形式保存的。
    Date.now() 可以获取当前代码执行时的时间戳

    Math

    Math属于一个工具类,它和Date不一样,他不是构造函数
    所以它不需要我们创建对象,它里边封装了属性运算相关的常量和方法
    我们可以直接使用它来进行数学运算相关的操作

    属性:

    属性名 描述
    Math.PI 常量,圆周率(约等于3.1415926)
    Math.E 算术常量 e,即自然对数的底数(约等于2.718)
    Math.SQRT2 2 的平方根(约等于 1.414)
    Math.LN2 2 的自然对数(约等于0.693)
    Math.LN10 10 的自然对数(约等于2.302)

    方法:

    方法名 描述
    Math.abs() 绝对值运算
    Math.ceil() 向上取整
    Math.floor() 向下取整
    也可以用 parseInt(),这个主要用于字符串
    而floor 只能用于数值,无法识别字符串的
    Math.round() 四舍五入取整
    Math.random() 生成一个[0, 1)之间的随机数
    Math.floor(Math.random()*(y+1-x)+x);
    数组:Math.floor(Math.random()*arr.length);
    生成一个x~y之间的随机数
    Math.pow(x,y) 求 x 的 y 次幂
    Math.sqrt() 对一个数进行开方
    Math.max() 求多个数中最大值
    Math.min() 求多个数中的最小值

    字符串的相关的方法

    使用ES6中的字符串新方法

    String.prototype.padStart(maxLength, fillString='')String.prototype.padEnd(maxLength, fillString='')来填充字符串;

    属性

    属性名 描述
    length 获取字符串的长度

    方法

    方法名 描述
    charAt() 根据索引获取指定的字符
    同 str[]
    charCodeAt() 根据索引获取指定的字符编码
    String.fromCharCode() 根据字符编码获取字符,如果是16进制要加 0x
    String.fromCharCode(0x41) // A (65)
    concat() 和数组一样,可以连接多个字符串和字符,和 + 一样
    indexOf() 检索字符串中是否有该内容
    有则返回第一次出现的 索引下标,没有则返回 -1
    可以设置第二参数,为从指定 索引下标,开始向后查找
    lastIndexOf() 和 indexOf() 一样,不过是从后往前找
    也可以指定第二参数,从指定位置开始向前查找
    slice(start,[end]) 和数组用法一样,截取指定的内容,并将截取到内容返回,不会影响原变量
    第一个:截取开始的位置(包括开始)
    第二个:截取结束的位置(不包括结束)
    可以省略第二个参数,如果省略则一直截取到最后
    可以传负数,如果是负数则从后往前数
    substr() 和slice()基本一致,不同的是它第二个参数不是索引,而是截取的个数
    substring() 和slice()基本一致,不同的是它不能接受负值作为参数,如果设置一个负值,则会自动修正为 0
    substring()中如果第二个参数小于第一个,自动调整位置
    split() 制定一个字符串作为参数,把字符串分割为字符串数组
    如果传一个空串 xx.split(""),则将每一个字符拆分为一个元素,注意:不能加空格啊,不能是 " "
    如果指定了一个原字符串没有的字符串,则将整个字符串作为一个元素
    可以传递正则表达式,例如:xx.split(/[A-z]/)
    不影响原字符串
    toLowerCase() 将字符串转换为 小写 并返回
    不影响原字符串
    toUpperCase() 将字符串转换为 大写 并返回
    sub() 把字符显示为 下标
    不影响原字符串
    sup() 把字符显示为 上标
    trim() 去除字符串两边的空白
    不影响原字符串

    支持正则表达的String方法

    方法名 描述
    split() 可以接收一个正则表达式,此时会根据正则表达式去拆分成数组
    这个方法即是不设置全局匹配 g ,也会全部匹配拆分
    search() 和indexOf() 相似,返回第一次出现的下标,但不能设置第二参数
    search() 支持正则表达式,但只会查找第一个,即使设置全局匹配也没用
    match() 可以根据正则表达式,从一个字符串中将符合条件的内容提取出来
    默认情况下match() 只会找到第一个符合要求的内容,找到以后就停止检索
    可以设置正则表达式为全局匹配模式 xx.match(/[a-z]/gi);,就会匹配到所有的内容
    match() 会将匹配到的内容封装到一个数组中返回
    replace() 可以将字符串中指定内容替换为新的内容
    参数1:被替换的内容,可传一个正则表达式作为参数
    参数2:新的内容,若是空串 "",则为删除
    默认只会替换第一个,如果是正则,则可以添加匹配模式 g 来全局匹配
    不影响原字符串
  • 相关阅读:
    日记1
    JDK、JRE、JVM三者间的关系
    线性表之二,SLINKLIST(单链表)类,模板类及C链表(增删改查,广义表
    线性表之一,SEQLIST(顺序表)类及其父类LIST,模板类及C结构体,包装顺序表
    PTA(中国人民解放军陆军工程大学数据结构,C语言)
    冒泡排序
    选择排序、堆排序
    冒泡排序,快速排序
    springMVC定时器
    MD5加密
  • 原文地址:https://www.cnblogs.com/Liwker/p/14372403.html
Copyright © 2011-2022 走看看