banner
banner
banner
NEWS LETTER

JS-工具函数和方法

Scroll down

字符串的相关的方法

  • length — 获取字符串的长度
  • charAt() — 可以返回字符串中指定位置的字符
  • charCodeAt() — 根据索引获取指定的字符编码
  • String.fromCharCode() — 根据字符编码获取字符
    • 示例
1
2
3
4
str = '中Hello Atguigu'
result = str.charAt(5) // o
result = str.charCodeAt(1) // 72
result = String.fromCharCode(0x2692) // '⚒'
  • concat() — 可以用来连接两个或多个字符串,参数是字符串,用逗号分隔
  • indexOf() 和 lastIndexOf()
    • 从一个字符串中检索是否含有指定内容
    • 如果字符串中含有该内容,则会返回其第一次出现的索引,没有找到则返回-1。
    • 可以指定一个第二个参数,来表示开始查找的位置
    • indexOf()是从前向后找
    • lastIndexOf()是从后向前找
  • slice()
    • 从一个字符串中截取指定的内容,并将截取到内容返回,不会影响原字符串
    • 参数:
      • 第一个:截取开始的位置(包括开始)
      • 第二个:截取结束的位置(不包括结束)
        • 可以省略第二个参数,如果省略则一直截取到最后
      • 可以传负数,如果是负数则从后往前数
  • substr()
    • 和 slice()基本一致,不同的是它第二个参数不是索引,而是截取的数量
  • substring()
    • 和 slice()基本一致,不同的是它不能接受负值作为参数,如果设置一个负值,则会自动修正为 0,
    • substring()中如果第二个参数小于第一个,自动调整位置
  • toLowerCase() — 将字符串转换为小写并返回
  • toUpperCase() — 将字符串转换为大写并返回

Date

日期的对象,在 JS 中通过 Date 对象来表示一个时间

创建对象

  • 创建一个当前的时间对象,使用构造函数
    • 语法:var d = new Date();
  • 创建一个指定的时间对象,需要传递一个表示时间的字符串作为参数
    • 语法:var d = new Date(“月/日/年 时:分:秒”);

常用方法

  • getDate() — 当前日期对象是几日(1-31)
  • getDay() — 返回当前日期对象时周几(0-6)
    • 0 表示周日
    • 1 表示周一 ,以此类推
  • getMonth() — 返回当前日期对象的月份(0-11)
    • 0 表示 一月,以此类推
  • getFullYear() — 获取当前日期对象的年份
  • 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 属于一个工具类,它不需要我们创建对象,它里边封装了属性运算相关的常量和方法

  • Math.PI — 常量,圆周率
  • Math.abs() — 绝对值运算
  • Math.ceil() — 向上取整,小数位只有有值就自动进 1
  • Math.floor() — 向下取整,小数部分会被舍掉
  • Math.round() — 四舍五入取整
  • Math.random() — 生成一个 0-1 之间的随机数
    • 生成一个 x-y 之间的随机数: Math.round(Math.random()*(y-x)+x);
    • 生成一个 0-x 之间的随机数: Math.round(Math.random()*x);
  • Math.pow(x,y) — 求 x 的 y 次幂
  • Math.sqrt() — 对一个数进行开方
  • Math.max() — 求多个数中最大值
  • Math.min() — 求多个数中的最小值

包装类 – 将基本数据类型的数据转换为对象(不建议)

在 JS 中为我们提供了三个包装类:String() Boolean() Number()

  • 示例:const num = new Number()
  • 当我们去操作一个基本数据类型的属性和方法时,解析器会临时将其转换为对应的包装类,然后再去操作属性和方法,操作完成以后再将这个临时对象进行销毁。
  • 方法和属性只能添加给对象,不能添加给基本数据类型,不会报错结果为 undefined

JSON(JavaScript Object Notation,JS 对象表示法)

一个特殊格式的字符串,可以被任意的语言所识别,并且可以转换为任意语言中的对象,在开发中主要用来数据的交互

  • 如果需要兼容 IE7 及以下的 JSON 操作,则可以通过引入一个外部的 js 文件来处理
  • JS 中的对象只有 JS 自己认识,其他的语言都不认识
  • JSON 和 JS 对象的格式一样,只不过 JSON 字符串中的属性名必须加双引号,其他的和 JS 语法一致
  • JSON 分类:
    1. 对象 {}
    2. 数组 []
  • JSON 中允许的值:
    1. 字符串
    2. 数值
    3. 布尔值
    4. null
    5. 对象
    6. 数组

JSON 字符串与 JS 互转

  • JSON.parse()
    • 可以将以 JSON 字符串转换为 js 对象
    • 它需要一个 JSON 字符串作为参数,会将该字符串转换为 JS 对象并返回
  • JSON.stringify()
    • 可以将一个 JS 对象转换为 JSON 字符串
    • 需要一个 js 对象作为参数,会返回一个 JSON 字符串
  • JSON 这个对象在 IE7 及以下的浏览器中不支持,所以在这些浏览器中调用时会报错

eval()

  • 这个函数可以用来执行一段字符串形式的 JS 代码,并将执行结果返回
  • 如果使用 eval()执行的字符串中含有{},它会将{}当成是代码块
  • 如果不希望将其当成代码块解析,则需要在字符串前后各加一个()
  • eval()这个函数的功能很强大,可以直接执行一个字符串中的 js 代码,
  • 但是在开发中尽量不要使用,首先它的执行性能比较差,然后它还具有安全隐患
  • 示例:
1
2
var str = '{"name":"孙悟空","age":18,"gender":"男"}';
var obj = eval("("+str+")");
其他文章
cover
JS-DOM和事件
  • 24/10/31
  • 11:05
  • JavaScript
cover
JS-数组
  • 24/10/31
  • 11:05
  • JavaScript
目录导航 置顶
  1. 1. 字符串的相关的方法
  2. 2. Date
    1. 2.1. 创建对象
    2. 2.2. 常用方法
  3. 3. Math
  4. 4. 包装类 – 将基本数据类型的数据转换为对象(不建议)
  5. 5. JSON(JavaScript Object Notation,JS 对象表示法)
    1. 5.1. JSON 字符串与 JS 互转
    2. 5.2. eval()
请输入关键词进行搜索