javascript基础
内置对象
JavaScript中的对象分为3种:内置对象、自定义对象、浏览器对象
JavaScript 提供多个内置对象:Math/Array/Date…
对象只是带有属性和方法的特殊数据类型。
可以通过MDN/W3C来查询学习
如何学习一个方法?
- 方法的功能
- 参数的意义和类型
- 返回值意义和类型
- demo进行测试
Math对象
Math对象不是构造函数,它具有数学函数的属性和方法,都是以静态成员的方式提供
Math.PI // 圆周率,这不带()括号,所以这是一个属性
Math.random() // 生成0~1之间的随机数,这有(),所以这是一个方法
Math.floor()/Math.ceil() // 向下取整/向上取整
Math.round() // 取'整,四舍五入
Math.abs() // 绝对值
Math.max()/Math.min() // 求最大和最小值
Math.sin()/Math.cos() // 正弦/余弦
Math.power()/Math.sqrt() // 求指数次幂/求平方根
Date对象
创建 Date
实例用来处理日期和时间。Date 对象基于1970年1月1日(世界标准时间)起的毫秒数。
var now = new Date(); //获取当前时间
Fri Aug 27 2021 09:27:44 GMT+0800
console.log(now.valueOf()); // 获取距1970年1月1日(世界标准时间)起的毫秒数
toString() // 转换成字符串
valueOf() // 获取毫秒值
- 获取日期的指定部分
getTime() //返回毫秒数和valueOf()结果一样
getMilliseconds()
getSeconds() // 返回0-59
getMinutes() // 返回0-59
getHours() // 返回0-23
getDay() // 返回星期几 0周日 6周6
getDate() // 返回当前月的第几天
getMonth() // 返回月份,***从0开始***
getFullYear() //返回4位的年份 如 2016
Array对象
- 创建数组对象的两种方式
- 字面量方式
- new Array()
####创建数组对象
1.使用构造函数创建对象
var arr = new Array();
// 创建了一个数组,里面存放了3个字符串
var arr = new Array('zs', 'ls', 'ww');
// 创建了一个数组,里面存放了4个数字
var arr = new Array(1, 2, 3, 4);
// 2. 使用字面量创建数组对象
var arr = [1, 2, 3];
// 获取数组中元素的个数
console.log(arr.length);
####检查一个对象是否是数组
instanceof (常用)
Array.isArray() HTML5中提供的方法,有兼容性问题
toString() 把数组转换成字符串,逗号分隔每一项
valueOf() 返回数组对象本身
数组中常用的方法
// 1 栈操作(先进后出)
push() //给数组添加元素
pop() (常用) //取出数组中的最后一项,修改length属性
// 2 队列操作(先进先出)
push()
shift() //取出数组中的第一个元素,修改length属性
unshift() //在数组最前面插入项,返回数组的长度
// 3 排序方法
reverse() //翻转数组
sort(); //即使是数组sort也是根据字符,从小到大排序
// 带参数的sort是如何实现的?
// 4 操作方法
concat() //把参数拼接到当前数组
slice() //从当前数组中截取一个新的数组,不影响原来的数组,参数start从0开始,end从1开始,这里的0和1是索引哦
splice()
//删除或替换当前数组的某些项目,参数start, deleteCount, options(要替换的项目,可省) start是开始索引,deleteCount是删除的个数(可省)
// 5 位置方法
indexOf()、lastIndexOf() //如果没找到返回-1
// 6 迭代方法 不会修改原数组(可选) html5中可以用,手机端开发就可以用
every()、filter()、forEach()、map()、some()
// 7 方法将数组的所有元素连接到一个字符串中。
join(),可以通过它传递一个字符串
String对象
####字符串的不可变
var str = 'abc';
str = 'hello';
// 当重新给str赋值的时候,常量'abc'不会被修改,依然在内存中
// 重新给字符串赋值,会重新在内存中开辟空间,这个特点就是字符串的不可变
// 由于字符串的不可变,在大量拼接字符串的时候会有效率问题
####创建字符串对象
var str = new String('Hello World');
// 获取字符串中字符的个数
console.log(str.length);
####字符串对象的常用方法
字符串所有的方法,都不会修改字符串本身(字符串是不可变的),操作完成会返回一个新的字符串
// 1 字符方法
charAt() //获取指定位置处字符
charCodeAt() //获取指定位置处字符的ASCII码
str[0] //HTML5,IE8+支持 和charAt()等效
// 2 字符串操作方法
concat() //拼接字符串,等效于+,+更常用
slice() //从star t位置开始,截取到end位置,end取不到
substring() //从start位置开始,截取到end位置, end取到
substr() //从start位置开始,截取length个字符
// 3 位置方法
indexOf() //返回指定内容在元字符串中的位置
lastIndexOf() //从后往前找,只找第一个匹配的
// 4 去除空白
trim() //只能去除字符串前后的空白
// 5 大小写转换方法
to(Locale)UpperCase() //转换大写
to(Locale)LowerCase() //转换小写
// 6 其它
search()
replace(m, n) 替换 把m替换成n
split() 去掉括号里面的东西