8.1 Math、Storage对象
在上一章写随机数的时候我们用到了 Math.random 方法,其实 Math 也是 JavaScript
的一个原生对象,它能提供各种数学功能。该对象不是构造函数,不能生成实例,所有的属性和方法都必须在Math对象上调用。
Math对象的静态属性,提供以下一些数学常数:
常量:
Math.E // 常数e。
Math.LN2 // 2 的自然对数。
Math.LN10 // 10 的自然对数。
Math.LOG2E // 以 2 为底的e的对数。
Math.LOG10E // 以 10 为底的e的对数。
Math.PI // 常数π。这个是重点,比较常用
Math.SQRT1_2 // 0.5 的平方根。
Math.SQRT2 // 2 的平方根。
静态方法
Math.abs() // 绝对值
Math.ceil() // 向上取整
Math.floor() // 向下取整
Math.round() // 四舍五入取整
Math.max() // 最大值
Math.min() // 最小值
Math.pow() // 指数运算
Math.sqrt() // 平方根
Math.log() // 自然对数
Math.exp() // e的指数
Math.random() // 随机数//无需传值
取整:
Math.ceil(4.6) // 向上取整,取大于等于 x,并且与它最接近的整数。
Math.floor(4.6) // 向下取整,取小于等于 x,并且与它最接近的整数。
Math.round(4.6) // 四舍五入取整,取与 x 最接近的整数。
输出:
5
4
5
8.2Storage 对象
Storage 接口用于脚本在浏览器保存数据。
两个对象部署了这个接口:
window.sessionStorage 和 window.localStorage。
- sessionStorage 保存的数据用于浏览器的一次会话(session),当会话结束(通常是窗口关闭),数据被清空;
- localStorage 保存的数据长期存在,下一次访问该网站的时候,网页可以直接读取以前保存的数据。
存入关键字:setItem
window.localStorage.setItem('myLocalStorage', 'storage Value');
window.localStorage.setItem(‘key’, ‘value’) 方法接受两个参数:
- key:键名;
- value:键值
注意,如果要存入的数据不是字符串类型的数据,最好先转换成字符串类型,比如要存入一个对象,可以这么写:
const obj = {
name: 'henry',
age: 18
}
const value = JSON.stringify(obj);
window.localStorage.setItem('myLocalStorage', value);
取出关键字:getItem
window.localStorage.getItem('myLocalStorage');
清楚所有保存的缓存数据:clear()
window.localStorage.clear();
8.3(String)
JavaScript 原生提供的三个包装对象之一就是 String,Number,Boolean
包装对象:原生对象可以把原始类型的值变成(包装成)对象。
方法(一):查长度length()
let len = 'here is an apple'.length
方法(二):查找字符indexOf()
let str = 'here is an apple';
const index = str.indexOf('an');
console.log(index);//有则返回字符串下标8,无则返回-1
方法(三):截取字符substring/substr
- substring(start, end):
start —— 要截取的字符串的开始下标
end —— 要截取的字符串的结束下标。 - substr(start, len):
start —— 要截取的字符串的开始下标
len —— 要截取的字符串的长度。
方法(四):分割字符串split
const splitedStr = 'a|b|c'.split('|');
console.log(splitedStr);//abc