ECMAScript 根本语法和基本对象

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(); 

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对象

  它是所有对象的父对象;