字符串的相关的方法
- length — 获取字符串的长度
- charAt() — 可以返回字符串中指定位置的字符
- charCodeAt() — 根据索引获取指定的字符编码
- String.fromCharCode() — 根据字符编码获取字符
- 示例
1 | str = '中Hello Atguigu' |
- 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 分类:
- 对象 {}
- 数组 []
- JSON 中允许的值:
- 字符串
- 数值
- 布尔值
- null
- 对象
- 数组
JSON 字符串与 JS 互转
- JSON.parse()
- 可以将以 JSON 字符串转换为 js 对象
- 它需要一个 JSON 字符串作为参数,会将该字符串转换为 JS 对象并返回
- JSON.stringify()
- 可以将一个 JS 对象转换为 JSON 字符串
- 需要一个 js 对象作为参数,会返回一个 JSON 字符串
- JSON 这个对象在 IE7 及以下的浏览器中不支持,所以在这些浏览器中调用时会报错
eval()
- 这个函数可以用来执行一段字符串形式的 JS 代码,并将执行结果返回
- 如果使用 eval()执行的字符串中含有{},它会将{}当成是代码块
- 如果不希望将其当成代码块解析,则需要在字符串前后各加一个()
- eval()这个函数的功能很强大,可以直接执行一个字符串中的 js 代码,
- 但是在开发中尽量不要使用,首先它的执行性能比较差,然后它还具有安全隐患
- 示例:
1 | var str = '{"name":"孙悟空","age":18,"gender":"男"}'; |