- 对象可以分为两种:一种是“自定义对象”,另外一种是“内置对象”。自定义对象,指的是需要我们自己定义的对象。内置对象,指的是不需要我们自己定义的(即系统已经定义好的)、可以直接使用的对象。
- 在JavaScript中,常用的内置对象有4种,字符串对象(String)、数组对象(Array)、日期对象(Date)、数值对象(Math)。
📌字符串对象:String
获取字符串长度
语法
字符串名.length
调用对象的属性时,要用到点运算符(.),可以将其理解为“的”,如str.length可以看成“str的length(长度)”。
字符串大小写转换
- toLowerCase( )方法将大写字符串转化为小写字符串,
- toUpperCase( )方法将小写字符串转化为大写字符串。
语法
字符串名.toLowerCase( )
字符串名.toUpperCase( )
调用对象的方法时,要用到点运算符(.)。但是属性和方法不太一样,方法后面需要加上小括号( ),而属性则不需要。
获取字符串中某一个字符
charAt( )方法用来获取字符串中的某一个字符。
语法
字符串名.charAt(n)
- n是整数,表示字符串中的第(n+1)个字符。注意,字符串第1个字符的下标是0,第2个字符的下标是1,……,第n个字符的下标是(n-1),以此类推。
- 在字符串中,空格也是作为一个字符来处理的。
截取字符串
substring( ) 方法用来截取字符串的某一部分。
语法
字符串名.substring(start,end)
- tart表示开始位置,end表示结束位置。start和end都是整数,一般都是从0开始,其中end大于start。
- substring(start,end)的截取范围为“[start,end)”,也就是包含start,但不包含end。其中,end可以省略。当end省略时,截取的范围为“start到结尾”。
替换字符串
replace( )方法可以用一个字符串替换另外一个字符串的某一部分。
语法
字符串名.replace(原字符串,替换字符串)字符串名.replace(正则表达式,替换字符串)
分割字符串
split( )方法用来把一个字符串分割成一个数组,这个数组存放的是原来字符串的所有字符片段。有多少个片段,数组元素个数就是多少。
语法
字符串名.split("分割符")
- 分割符可以是一个字符、多个字符或一个正则表达式。此外,分割符不作为返回的数组元素的一部分。
- split( )方法有两个参数:第1个参数表示分割符,第2个参数表示获取“分割之后的前n个元素”。
- split(“ ")两个引号之间有空格,表示用空格作为分割符来分割。split(“"),两个引号之间没有空格,可以用来分割字符串的每一个字符。
检索字符串的位置
- indexOf( )方法可以找出“某个指定字符串”在字符串中“首次出现”的下标位置。
- lastIndexOf( )方法可以找出“某个指定字符串”在字符串中“最后出现”的下标位置。
语法
字符串名.indexOf(指定字符串)字符串名.lastIndexOf(指定字符串)
- 如果字符串中不包含“指定字符串”,indexOf( )或lastIndexOf( )会返回-1。
- indexOf( )和lastIndexOf( )不仅可以用于检索字符串,还可以用于检索单个字符。
📌数组对象:Array
“数组”可以用来存储一组“相同数据类型”(一般情况下)的数据。数组是“引用数据类型”,可以含有多个值。而基本数据类型只有一个值。
数组的创建
可以使用new关键字来创建一个数组。创建数组的常见形式有两种:一种是“完整形式”,另外一种是“简写形式”。
语法
var 数组名=new Array(元素1,元素2,……,元素n); //完整形式var 数组名=[元素1,元素2,……,元素n]; //简写形式
数组的获取
获取数组某一项的值,可以采用“下标”的方式来获取。
语法
var 数组名=[元素1,元素2,……,元素n]; //简写形式n=数组名[n]
n代表下表位置取整数,数组的下标是从0开始的,不是从1开始的。
数组的赋值
通过数组下标的方式可以给某一项赋一个新的值,或者给数组多增加一项。
语法
arr[i]=值;
获取数组长度
length属性用来获取数组的长度。
语法
数组名.length
截取数组某部分
slice( )方法用来获取数组的某一部分。slice,是“切片”的意思。
语法
数组名.slice(start,end);
- start表示开始位置,end表示结束位置。start和end都是整数,都是从0开始,其中end大于start。
- slice(start,end)的截取范围为[start,end),也就是“包含start但不包含end”。其中,end可以省略。当end省略时,获取的范围为“start到结尾”。
添加数组元素
在数组开头添加元素:unshift( )
unshift( )方法可以在数组开头添加新元素,并且可以得到一个新的数组(也就是原数组变了)。
语法
数组名.unshift(新元素1,新元素2,……,新元素n)
在数组结尾添加元素:push( )
push( )方法可以在数组结尾添加新元素,并且可以得到一个新的数组(也就是原数组变了)。
语法
数组名.push(新元素1,新元素2,……,新元素n)
删除数组元素
删除数组中第一个元素:shift( )
shift( )方法用来删除数组中的第一个元素,并且可以得到一个新的数组。
语法
数组名.shift( )
删除数组最后一个元素:pop( )
pop( )方法用来删除数组的最后一个元素,并且可以得到一个新数组。
语法
数组名.pop( )
比较数组大小
语法
数组名.sort(函数名)
“函数名”是定义数组元素排序的函数的名称。
颠倒数组顺序
reverse( )方法用来实现数组中所有元素的反向排列,也就是颠倒数组元素的顺序。reverse,是“反向”的意思。
语法
数组名.reverse( );
将数组元素连接成字符串
join( )方法用来将数组中的所有元素连接成一个字符串。
语法
数组名.join("连接符");
连接符是可选参数,是连接元素之间的符号。默认情况下,一般会采用英文逗号(,)作为连接符。如果想要实现字符之间没有任何东西,用 (“ ”) 作为连接符。
📌时间对象:Date
在JavaScript中,我们可以使用时间对象Date来处理时间。
语法
var 日期对象名 = new Date( );
创建一个日期对象,必须使用new关键字。其中Date对象的方法有很多,主要分为两大类:getXxx( )和setXxx( )。getXxx( )用于获取时间,setXxx( )用于设置时间。
获取时间:getXxx( )
方法 | 说明 |
getFullYear() | 获取年份,取值为4位数字 |
getMonth() | 获取月份,取值为0(一月)到11(十二月)之间的整数 |
getDate() | 获取日数,取值为1~31的整数 |
getHours() | 获取小时数,取值为0~23的整数 |
getMinutes() | 获取分钟数,取值为0~59的整数 |
getSeconds() | 获取秒数,取值为0~59的整数 |
设置时间:setXxx( )
方法 | 说明 |
setFullYear() | 可以设置年、月、日 |
setMonth() | 可以设置月、日 |
setDate() | 可以设置日 |
setHours() | 可以设置时、分、秒、毫秒 |
setMinutes() | 可以设置分、秒、毫秒 |
setSeconds() | 可以设置秒、毫秒 |
获取年、月、日
语法
var d=new Date( ); // 获取时间对象
var Day=d.getDate( ); // 获取日数
var Month=d.getMonth( )+1; // 获取月份
var Year=d.getFullYear( ); // 获取年份
getMonth( )方法的返回值是0(一月)到11(十二月)之间的整数,所以必须加上1,这样月份才正确。
设置年、月、日
语法
时间对象.setFullYear(year,month,day); // 设置年、月、日
时间对象.setMonth(month,day); // 设置月、日
时间对象.setDate(day); // 设置日
- year表示年,用一个4位的整数表示,如2017、2020等。
- month表示月,用0~11的整数表示。其中0表示1月,1表示2月,以此类推。
- day表示日,用1~31的整数表示。
获取时、分、秒
语法
var d=new Date( ); // 获取时间对象
var Hours=d. getHours( ); // 获取小时数
var Minutes=d. getMinutes( ); // 获取分钟数
var Seconds=d.getSeconds( ); // 获取秒数
设置时、分、秒
语法
时间对象.setHours(hour,min,sec,millisec); // 设置时、分、秒、毫秒。
时间对象.setMinutes(min,sec,millisec); // 设置分、秒、毫秒。
时间对象.setSeconds(sec,millisec); // 设置秒、毫秒。
- hour 表示时,取值为0~23的整数。
- min 表示分,取值为0~59的整数。
- sec 表示秒,取值为0~59的整数。
- millisec 表示毫秒,取值为0~999的整数。
获取星期数
getDay( )方法用来获取表示今天是星期几的一个数字。
语法
时间对象.getDay( );
getDay( )会返回一个数字,其中0表示星期天,1表示星期一,……,6表示星期六。
📌数学对象:Math
在JavaScript中,可以使用Math对象的属性和方法来实现各种运算。Math对象提供了大量“内置”的数学常量和数学函数。Math对象可以直接使用它的属性和方法。
语法
Math.属性
Math.方法
Math对象的属性
Math对象的属性
属性 | 说明 | 对应的数学形式 |
PI | 圆周率 | π |
LN2 | 2的自然对数 | In(2) |
LN10 | 10的自然对数 | In(10) |
LOG2E | 以2为底的e的对数 | Log2e |
LOG10E | 以10为底的e的对数 | log10e |
SORT2 | 2的平方根 | √2 |
SORT1_2 | 2的平方根的倒数 | 1/√2 |
Math对象的属性都是常量,它们都是大写的。
Math对象的方法
Math对象中的方法(常用)
方法 | 说明 |
max(a,b,..,n) | 返回一组数中的最大值 |
min(a,b,..,n) | 返回一组数中的最小值 |
sin(x) | 正弦 |
cos(x) | 余弦 |
tan(x) | 正切 |
asin(x) | 反正弦 |
acos(x) | 反余弦 |
atan(x) | 反正切 |
atan2(x) | 反正切 |
floor(x) | 向下取整 |
ceil(x) | 向上取整 |
random() | 生成随机数 |
Math对象中的方法(不常用)
方法 | 说明 |
abs(x) | 返回×的绝对值 |
sqrt(x) | 返回×的平方根 |
log(x) | 返回×的自然对数(底为e) |
pow(x,y) | 返回×的y次幂 |
exp(x) | 返回e的指数 |
生成随机数
random( )方法用来生成0~1的一个随机数。random,是“随机”的意思。这里的0~1包含0但不包含1,也就是[0, 1)。
语法
Math.random( )
使用技巧
随机生成某个范围内的“任意数” | Math.random( )*m | 表示生成0~m的随机数,如“Math.random( )*10”表示生成0~10的随机数。 |
Math.random( )*m+n | 表示生成n~m+n的随机数,如“Math.random( )*10+8”表示生成8~18的随机数。 | |
Math.random( )*m-n | 表示生成-n~m-n的随机数,如“Math.random( )*10-8”表示生成-8~2的随机数。 | |
Math.random( )*m-m | 表示生成-m~0的随机数,如“Math.random( )*10-10”表示生成-10~0的随机数。 | |
随机生成某个范围内的“整数” | Math.floor (Math.random( ) * (5+1)) | 生成0~5的随机整数 |
Math. floor (Math. random( )*(m+1)) | 生成0到m之间的随机整数 | |
Math.floor (Math. random( )*m)+1 | 生成1到m之间的随机整数(包括1和m) | |
Math.floor (Math.random( )*(m-n+l)) +n | 生成n到m之间的随机整数(包括n和m) |