内置对象
JS内置对象就是指Javascript自带的一些对象,供开发者使用,这些对象提供了一些常用的的功能。
常见的内置对象有Math、String、Array、Date等
内置对象有很多,我们主要是记下这些内置对象的用法即可。但是同学们也不可能一下子记住这么多的方法,因此当同学们忘了某个方法该如何使用的时候,可以通过以下方式查看。
- 火狐开发者网站MDN
- 离线文档
- 笔记
如何学习一个方法?
- 方法的功能
- 参数的意义和类型
- 返回值意义和类型
- demo进行测试
Math对象
Math对象中封装很多与数学相关的属性和方法。
-
属性PI
Math.PI
-
最大值/最小值
Math.max(); Math.min();
-
取整(★)
Math.ceil();//天花板,向上取整 Math.floor();//地板,向下取整 Math.round();//四舍五入,如果是.5,则取更大的那个数
-
随机数(★)
Math.random();//返回一个[0,1)之间的数,能取到0,取不到1
-
绝对值
Math.abs();//求绝对值
-
次幂和平方
Math.pow(num, power);//求num的power次方 Math.sqrt(num);//对num开平方
-
练习
随机生成一个rgb颜色? function randomRGB(){ var colorA = parseInt( Math.random() * 256 ); var colorB = parseInt( Math.random() * 256 ); var colorC = parseInt( Math.random() * 256 ); return 'rgb('+ colorA + "," + colorB + ',' + colorC +')'; }
Date对象
Date对象用来处理日期和时间
-
创建一个日期对象
var date = new Date();//使用构造函数创建一个当前时间的对象 var date = new Date("2020-03-22");//创建一个指定时间的日期对象 var date = new Date("2020-03-22 00:52:34");//创建一个指定时间的日期对象 var date = new Date(2020, 3, 22, 0, 52, 34); var date = new Date(1523199394644);//参数:毫秒值 Date构造函数的参数 1. 毫秒数 1498099000356 new Date(1498099000356) 2. 日期格式字符串 '2015-5-1' new Date('2015-5-1') 3. 年、月、日…… var date = new Date(2017, 2, 22, 0, 52, 34);月份从0开始
-
日期格式化(了解)
date.toString();//默认的日期格式 date.toLocaleString();//本地风格的日期格式(兼容性) date.toDateString(); date.toLocaleDateString(); date.toTimeString(); date.toLocaleTimeString();
-
获取日期的指定部分
getMilliseconds();//获取毫秒值 getSeconds();//获取秒 getMinutes();//获取分钟 getHours();//获取小时 getDay();//获取星期,0-6 0:星期天 getDate();//获取日,即当月的第几天 getMonth();//返回月份,注意从0开始计算,这个地方坑爹,0-11 getFullYear();//返回4位的年份 如 2020 //思考: //封装一个函数,返回当前的时间,格式是:yyyy-MM-dd HH:mm:ss
-
时间戳
var date = +new Date();//1970年01月01日00时00分00秒起至现在的总毫秒数 //思考 //如何统计一段代码的执行时间? //倒计时
Array对象
数组对象在javascript中非常的常用
-
数组的首尾增删操作(★)
array.push();//从后面添加元素,返回新数组的length array.pop();//从数组的后面删除元素,返回删除的那个元素 array.unshift();//从数组的前面的添加元素,返回新数组的长度 array.shift();//从数组的最前面删除元素,返回删除的那个元素 //练习1 var arr = ["刘备"]; //添加数据后变成:["赵云","马超","刘备","关羽","张飞"] //删除数据后变成:["关羽","张飞"] //练习2 var arr = ["赵云","马超","刘备","关羽","张飞"]; //把数组的最后一个元素变成数组的第一个元素 //把数组的第一个元素变成数组的最后一个元素
-
数组转换(★)
//语法:array.join(separator) //作用:将数组的值拼接成字符串 var arr = [1,2,3,4,5]; arr.join();//不传参数,默认按【,】进行拼接 arr.join("-");//按【-】进行拼接
-
数组的翻转与排序
array.reverse();//翻转数组 array.sort();//数组的排序,默认按照字母顺序排序 //sort方法可以传递一个函数作为参数,这个参数用来控制数组如何进行排序 arr.sort(function(a, b){ //如果返回值>0,则交换位置 return a - b; });
//思考: //将[3, 6, 1, 5, 10, 2,11]从小到大排列 //将字符串数组['a', 'cc', 'ffffff', 'bbb', 'dddd'];按照字符长度从小到大排列 //将学生数组按照年龄从小到大排列 var arr = [ {name: '洋洋', age: 17, score: 60}, {name: '飞飞', age: 18, score: 100}, {name: '燕哥', age: 16, score: 100} ];
-
数组查找元素
//indexOf方法用来查找数组中某个元素第一次出现的位置,如果找不到,返回-1 array.indexOf(search, [fromIndex]); //lastIndexOf()从后面开始查找数组中元素出现位置,如果找不到,返回-1 array.lastIndexOf(search, [fromIndex]);
-
数组的拼接与提取
//concat:数组合并,不会影响原来的数组,会返回一个新数组。 var newArray = array.concat(array2); //slice:数组切分,复制数组的一部分到一个新数组,并返回这个数组 不修改原数组 //原来的数组不受影响,包含begin,不包含end var newArray = array.slice(begin, end); //splice:删除数组元素或者增加数组元素或者替换数组元素 //start:开始位置 deleteCount:删除的个数 items:替换的内容 array.slice(start, deleteCount, [items]); //练习: var arr = ["赵云","马超","刘备","关羽","张飞"]; //截取["刘备","关羽"] //在马超后面增加 马腾 //删除关羽
-
清空数组
//1. array.splice(0,array.length);//删除数组中所有的元素 //2.array.length = 0;//直接修改数组的长度 //3.array = [];//将数组赋值为一个空数组,推荐
-
数组综合练习
var arr = ["c", "a", "z", "a", "x", "a", "a", "z", "c", "x", "a", "x"] //1. 找到数组中第一个a出现的位置 //2. 找到数组中最后一个a出现的位置 //3. 找到数组中每一个a出现的位置 //4. 数组去重,返回一个新数组
基本包装类型
简单数据类型是没有方法的。为了方便操作基本数据类型,JavaScript还提供了三个特殊的引用类型:String/Number/Boolean。
基本包装类型:把基本类型包装成复杂类型。
var num = 123;
var result = num.toString();
// 发生了三件事情
1. 把简单类型转换成复杂类型:var s = new Number(num);
2. 调用包装类型的toString方法:var result = s.toString();
3. 销毁刚刚创建的复杂类型
Number对象
Number对象是数字的包装类型,数字可以直接使用这些方法
toFixed(2)//保留2位小数
toString();//转换成字符串
Boolean对象
Boolean对象是布尔类型的包装类型。
toString( );//转换成字符串
undefined和null没有包装类型,所以调用toString方法会报错
String对象
字符串可以看成是一个字符数组(伪数组)。因此字符串也有长度,也可以进行遍历。String对象很多方法的名字和和Array的一样。可以少记很多的单词。
- 字符串可以遍历 但是不能使用数组的方法
- 字符串不能通过下标单独修改,只允许整体赋值
- 针对字符串的所有操作,都是返回一个新的字符串,原字符串不会修改
-
查找指定字符串
//indexOf:获取某个字符串第一次出现的位置,如果没有,返回-1 //lastIndexOf:从后面开始查找第一次出现的位置。如果没有,返回-1
-
去除空白
trim();//去除字符串两边的空格,内部空格不会去除
-
大小写转换
//toUpperCase:全部转换成大写字母 //toLowerCase:全部转换成小写字母
-
字符串拼接与提取
//字符串拼接 //可以用concat,用法与数组一样,但是字符串拼串我们一般都用+ //字符串截取的方法有很多,记得越多,越混乱,因此就记好用的就行 //slice :从start开始,end结束,并且取不到end。 //substring :从start开始,end结束,并且取不到end //substr : :从start开始,截取length个字符。
-
字符串替换
replace(searchValue, replaceValue) //参数:searchValue:需要替换的值 replaceValue:用来替换的值
-
字符串切割
//split:将字符串分割成数组(很常用) //功能和数组的join正好相反。 var str = "张三,李四,王五"; var arr = str.split(",");
-
练习
//1. 截取字符串"我爱中华人民共和国",中的"中华" //2. "abcoefoxyozzopp"查找字符串中所有o出现的位置 //3. 把字符串中所有的o替换成! //4. 把一个字符串中所有的空格全部去掉 //5. 'shen-yan-fei'替换成'shenYanFei'驼峰式命名