ECMAScript 根本语法和基本对象
Array对象
创建数组的方式:
使用new Array()创建数组的方式: -->也叫使用构造函数创建数组;
遍历数组的方式:
for(var i = 0; i < 数组名.length; i++){
document.write(数组名[i]);
}
for(x in 数组名){
//x在遍历数组的时候,表示数组下标
document.write(数组名[x]);
}
Array对象的方法
方法 | 使用规则 | 参数要求 | 方法作用 | 方法详解 |
concat方法 | 数组对象.concat(参数1,参数2.....) | 参数可以是任意数据类型 | 把指定参数追加到数组的末尾 |
把参数追加到数组的末尾,不是修改的原数组,而是通过这个方法得到一个新的数组; 新的数组有原数组里面的值包含追加进来的值;如果参数是数组的话,那么它会把 数组里面的每一个提取出来然后追加到数组的末尾; |
join 方法 | 数组对象.join(可选字符串参数) | 参数可有可无,如果有,必须是字符串 | 把数组转换为一个字符串,生成一个新的字符串 |
如果没有参数,那么生成的字符串是把数组里面的每个元素使用逗号隔开串联起来; 如果有参数,那么每个元素使用指定参数串联起来; |
pop方法 | 数组对象.pop() | 没有参数 | 把数组尾部的元素删除 |
把数组的最后一个元素删除,修改的是原数组,这个方法同样有返回值, 返回值是被删除的元素; (基本上不使用返回值) |
push方法 | 数组对象.push(参数1,参数2.......) | 参数可以是任意数据类型 | 把参数追加到数组的末尾 |
把参数添加到数组末尾,修改的是原数组;该方法的返回值是修改过后数组的长度; 如果参数是数组,那么会把数组看成一个整体 |
reverse方法 | 数组对象.reverse() | 没有参数 | 把数组里面的元素反转(倒序) 1 2 3 4 4 3 2 1 |
修改的是原数组,它的返回值是修改过后的数组的引用; |
shift方法 | 数组对象.shift() | 没有参数 | 把数组的第一个元素删除; |
修改的是原数组,方法的返回值是删除的元素 |
.slice方法 | 数组对象.slice(startIndex,endIndex) | 参数1是必选参数,参数2是可选参数 | 从原数组中截取开始下标到结束下标的元素 |
如果只有开始下标,那么从开始下标截取到数组末尾,返回一个新的数组; 如果有开始下标和结束下标,那么从开始下标开始截取到结束下标, 但是不包含结束下标; 如果结束下标小于开始下标,那么截取不到任何东西; 扩展:这两个参数都可以是负数 |
sort方法 | 数组对象.sort(函数/匿名函数) | 可以写参数,也可以不写 | 用来排序数组 |
很少使用不带参数的该方法;在sort里面定义一个匿名函数, 该函数有两个参数,比如a,b; 然后在函数内部写 return a - b; 或 return b-a; 如果是return a - b,表示升序排序 如果是return b - a,表示降序排列 匿名函数: 作为参数,没有函数名 |
splice方法 |
数组对象.splice (开始下标,删除数量,参数x,参数y....) |
开始下标,和删除数量是必选参数;后面的 参数可以是多个,然后是任意类型的值; |
1.可以添加元素到数组指定位置 2.删除指定位置的元素 3.把数组里面的元素替换成别的元素 注: 修改的是原数组,返回值是被删除的元素 |
1.删除数组里面的元素,只需要开始下标和删除数量即可 数组对象.splice(开始下标,数量); 2.替换数组里面的元素,需要所有参数 数组对象,splice(开始下标,数量,替换元素1,替换元素2...) 3.添加元素到数组指定位置,对比替换,只需要把删除数量改为0即可 数组对象,splice(开始下标,0,插入元素1,插入元素2...) |
toString, valueof方法 |
toString 把任意类型对象转换为字符串 valueof 取任意类型对象的值 |
|||
unshift方法 |
数组对象.unshift(任意类型参数) | 任意类型的参数,可以有多个 | 把参数添加到数组的开头 |
修改的原数组,新的数组长度 |
concat和push的区别?
1.concat不是修改原数组,push是修改原数组
2.concat返回值是一个新的数组,push是新数组的长度
3.当参数都是数组的时候,concat会把数组里面的每个元素提取出来追加到数组的末尾;push会把数组看成一个整体;
pop 和 shift的区别?
都是做元素删除,方法返回值都是删除元素,都是修改原数组;
pop是删除数组最后一个元素;shift是删除数组第一个元素;
pop push shift unshift都是做什么的?
pop和shift都是做删除数组元素,pop是删除最后一个元素,shift是删除第一个元素;他们的返回值都是被删除的元素;
push和unshift都是做添加数组元素,push是把元素添加到数组的末尾,unshift是把元素添加到数组的开头;它们的返回值都是数组的长度;
slice splice分别是做什么的?
slice 是用来截取数组,生成一个新的数组
splice 可以用来删除数组指定位置的元素/添加元素到数组指定位置/替换数组里面的元素;
pop shift splice在做删除的时候有什么不同?
都可以删除数组里面的元素,pop是删除最后一个,shift是删除第一个,splice是删除任意位置的任意个数元素;
splice可以完全替代pop和shift
Date对象
Date对象是用来表示日期和时间的对象
创建Date对象的方式,使用new Date创建 var date1 = new Date();
Year | 必须写全称年 |
Month | 在日期中1-12月分别使用 0 - 11表示 |
Date | 取值 1-31 |
Hours | 取值范围是0-23 |
Minutes | 取值范围是0 - 59 |
Seconds | 取值范围是0 - 59 |
getDate | 获取一个月中的日期数(天数) |
getDay |
获取一周中的日期数(天数) |
getFullYear | 获取完整的年份 |
getHours方法 | 获取小时数(时间的表示 0 - 23) |
getMillSeconds | 获取毫秒值 1秒 = 1000 |
getMinutes | 获取分钟数 取值范围是0 - 59 |
getMonth | 获取月份 月份是0 - 11 |
getSeconds | 获取秒数 |
getTime | 获取当前时间和1970年1月1日标准时间的差值的毫秒值 |
getTimezoneOffset | 获取当前时间和国际标准时间的差值的分钟数 |
getYear | 获取年份(当前年份-1900年) 不推荐使用 |
getFullYear | 是获取完整的年份 |
getYear | 是获取当前年份-1900年 |
set.... | 设置get方法 |
把日期转换为字符串的方法 |
toString() toDateString() toTimeString() toLocalString() toLocalDateString() toLocalTimeString() |
函数也是对象
Global对象
全局对象,全局对象里面的方法不需要通过对象名等方式,而是直接写函数名即可;
无论是Date对象还是Array对象里面的方法都是通过对象名.方法名();
escape(字符串参数) |
1.把字符串转换为计算机可识别的编码格式(过期), 返回一个转换过后的值;这个方法最早的时候最多使用在转换中文; 所有的中文汉字在Unicode码中对应的范围是 \u4e00 - \u9fa5 |
eval(代码) |
1.把代码执行计算记过,功能十分强大; 这个函数虽说功能特别强大,但是基本不用 |
isFinite(数值类型) |
判断参数是否是有限的 如果参数是 正无穷大/负无穷大/NaN, 那么返回值是false,其他值都是true |
isNaN |
1.判断是否是一个非数字
如果参数是NaN,那么结果是true,否则是false |
parseFloat |
把数值型字符串或数值转换为number类型
|
parseInt |
把数值型字符串转换为number类型
如果参数是一个数值型字符串,转换结果是number类型 如果参数是一个非数值型付出,那么结果是NaN 如果参数是一个小数,那么得到一个整数(舍去小数) |
unescape | 解码(escape转码的值) |
Math对象
包含数学运算的一系列方法
绝对值,正切,反正切,余弦,反余弦,正弦,反正弦
Math对象的方法调用: Math.方法名()
ceil(数值) |
返回大于等于参数的最小整数(向上取整) 如果参数是整数,那么返回的就是等于参数的值(本身); 如果参数是小数,那么返回的就是大于该参数的最小整数; 如果是小数: (参数舍小数+1) |
floor(数值) |
返回小于等于参数的最大整数(向下取整) 如果参数是整数,那么返回的就是参数本身 如果参数是小数,那么返回的就是小于参数的最大整数; 如果是小数: (参数舍小数) |
max(数值参数1,参数2.....) | 返回参数序列中的最大值 |
min(数值参数1,参数2.....) | 返回参数序列中的最小值 |
random() | 返回0-1之间的伪随机数(小数),包含0,不包含1 |
round(数值) |
四舍五入 |
Number对象
数值变量名.toFixed(数值) 保留指定位数的小数,它在保留小数的时候,还会四舍五入;
String对象
用来操作和处理字符串对象
anchor(字符串参数) |
给指定字符串加锚点,参数字符串是锚点的名称 <a name=”锚点名称”></a> |
big() | 给指定字符串加上big标签,不推荐使用,big标签不推荐使用 |
blink() |
给指定字符串加上blink标签,不推荐使用 blink标签是闪烁文本标签,最早是火狐浏览器专属标 |
bold() | 给指定字符串加上b标签 |
charAt(下标) | 从指定字符串中获取指定下标的字符 |
charCodeAt(下标) | 从指定字符串中获取指定下标的字符的Unicode |
concat(,参数......) | 把参数串联到字符串末尾 |
fixed() |
1.给指定字符串加上tt标签,不推荐使用
tt标签是打印机文本 |
fontcolor(颜色值) | 1.给指定字符串加上font标签,font标签的color属性的值是参数; |
fontsize(数值) |
数值范围1-7,给指定字符串加上font标签,并有有size属性, size属性的值就是该方法的参数; |
formCharCode(Unicode) | 把Unicode转换为字符串(*****) |
indexOf(字符串,[开始下标]) | 获取参数字符串在指定字符串中首次出现的下标; |
italics() |
给指定字符串加上i标签 |
lastIndexOf(字符串,[开始下标])) | 获取参数字符串在指定字符串中最后一次出现的下标 |
replace(旧字符串,新的字符串) | 使用新字符串替换指定字符串中的旧字符串 |
link(字符串参数url) | 给指定字符串加上a标签,参数字符串是a标签href属性的值; |
slice(开始下标,[结束下标]) |
从字符串中截取一个新的字符串 如果只有开始下标,表示从开始下标到末尾 如果有开始和结束下标,从开始到结束,不包含结束下标 如果开始下标大于结束下标,那么什么都截取不到; |
split(字符串参数) | 把指定字符串按照指定参数规则转换为数组; |
strike() |
给指定字符串加上strike标签,不推荐使用 strike标签已经被del标签替代 |
sub() | 给指定字符串加上sub标签 |
substr(开始下标,[长度]) | 从指定字符串截取子字符串 |
substring(index1,index2) |
从参数1下标截取到参数2下标 substring两个参数没有先后之后,那个参数的值大,则为结束下标 |
sup() | 给指定字符串加sup标签 |
toLowerCase() | 把指定字符串里面的英文全部转换为小写 |
toUpperCase() | 把指定字符串里面的英文全部转换为大写; |
small() | 给指定字符串加上small |
substr和slice的区别?
两者都是用来截取字符串使用,都是生成一个新的字符串;
substr参数是指定开始下标和长度,从指定下标截取指定个数的字符;
Slice参数都是下标,表示从参数下标1到参数下标2之间的字符;
slice 和 substring的区别?
slice如果第一个参数小于第二个参数,是截取第一个参数到第二个参数的字符串;如果第二个参数小于第一个参数,没有截取结果;
substring把两个参数中的大值作为结束下标,小值作为开始下标;
slice substring substr的区别?
三者都是做字符串截取使用;
slice 和 substr的参数上有不同,slice是开始下标,结束下标;substr是开始下标,长度;
slice和 substring参数是都是两个下标参数,但是slice想截取到指定的字符串,那么必须第一个参数小于第二个,但是substring没有先后之分;
Object对象
它是所有对象的父对象;