JavaScript对象(未完,待续)

JavaScript对象共有9类

Array、Boolean、Date、Math、Number、String、RegExp、Functions、Events

---------Array对象---------

用于在单个的变量中存储多个值(即,数组)

创建 Array 对象的语法:
①new Array();
②new Array(size);
③new Array(element0, element1, ..., elementn);
参数
参数 size 是期望的数组元素个数。返回的数组,length 字段将被设为 size 的值。
参数 element ..., elementn 是参数列表。当使用这些参数来调用构造函数 Array() 时,新创建的数组的元素就会被初始化为这些值。它的 length 字段也会被设置为参数的个数。

 返回值

返回新创建并被初始化了的数组。
 如果调用构造函数 Array() 时没有使用参数,那么返回的数组为空,length 字段为 0。
  当调用构造函数时只传递给它一个数字参数,该构造函数将返回具有指定个数、元素为 undefined 的数组。
  当其他参数调用 Array() 时,该构造函数将用参数指定的值初始化数组。
  当把构造函数作为函数调用,不使用 new 运算符时,它的行为与使用 new 运算符调用它时的行为完全一样。

 

 

#Array对象方法(14个)

concat()、join()、pop()、push()、reverse()、shift()、slice()、
short()、splice()、unshift()、
tosource()、toString()、toLocaleString()、valueof()

 

concat :连接两个或多个数组
语法:arrayObject.concat(x,……,arrayx);//arrayx:可以是"一个或多个","具体的值或数组"
实例1:把concat中的参数连接到数组a中
    var a = [1,2,3];
  document.write(a.concat(4,5));
实例2:连接3个数组
  var arr = [1];
  var arr2 = [2];
  var arr3 = ["tom"];
  document.write(arr.concat(arr2,arr3))
###同时连接"数值"和"数组"###

注:①该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本

  ②数组中的内容可以是"任何类型"

 

join() :把数组的所有元素放入一个字符串,元素通过"指定的分隔符"进行分隔
语法:arrayObject.join(reparator);//可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符
---

 

pop():删除并返回数组最后一个元素(同时数组长度length也会减1)
语法:arrayObject.pop();//如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。
返回值:数组的最后一个元素
实例1:
var x = [1,2];
document.write(x.pop());//输出结果为:2
实例2:
var x=[];
document.write(x.pop());//输出结果为:undefined
--

 

push:向数组的末尾添加一个或多个元素,并返回新的长度
语法:arrayObject.push(newelement1,newelement2,....,newelementX);//newenement1必须要填,调用了push()方法,第一个参数必须要填
返回值:把指定的值添加到数组后的新长度

--

 

shift():删除并返回数组的第一个元素
语法:arrayObject.shift();//如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。
返回值:数组原来第一个元素的值

 

 

unshift():向数组的开头添加一个或更多元素,并返回新的长度
语法:arrayObject.unshift(newelement1,newelement2,....,newelementX)
返回值:数组的新长度

注:IE中,此方法无法正确工作

 

sort():对数组中的元素进行排序
语法:arrayObject.sort(sortby);//sortby:可选。规定排序顺序。必须是函数。
返回值:对数组的引用。//请注意,数组在原数组上进行排序,不生成副本。

说明:

如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。

如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:

  • 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
  • 若 a 等于 b,则返回 0。
  • 若 a 大于 b,则返回一个大于 0 的值。 
实例1:创建一个数组,按照"字母排序"。//即,不使用参数
var x = ["tom","jerry"];
document.write(x.sort());//结果为:jerry tom
实例2:
function sortNumber(a,b)//排序函数
{
return a - b
}

var arr = [10,5,40,25,1000,1]
document.write(arr.sort())//不使用排序函数,结果为:1,10,1000,25,40,5
document.write(arr.sort(sortNumber))//使用排序函数,结果为:1,5,10,25,40,1000

--

 

reverse():颠倒数组中元素的顺序(前后颠倒)
语法:arrayObject.reverse()

--

 

slice():从已有的数组中返回选定的元素
语法:arrayObject.slice(start,end)
  //start:必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。   //end:可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。
         如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。
         如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
返回值:返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素

 

--

 

splice():向/从数组中添加/删除项目,然后返回被删除的项目
语法:arrayObject.splice(index,howmany,item1,.....,itemX)
参数:
index :必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany :必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX :可选。向数组添加的新项目。
返回值:Array    包含被删除项目的新数组,如果有的话。

 


 

 

 

---------Date对象---------用于处理日期和事件

var mydate = newDate();

***date对象会自动把当前日期和时间保存为初始值
Date对象属性
Date对象方法
  Date() :返回当日的日期和时间
    getDate() :从Date对象返回 一月中的某一天---[1-31]
    getDay() :从Date对象返回 一周中的某一天---[0-6]
    getMonth() :从Date对象返回 当前月份---[0-11]
    getFullYear() :从Date对象 以4位数字返回年份---【取代了getYear和setYear】
    getHours() :返回Date对象的小时---[0-23]
    getMinutes() :返回Date对象的分钟---[0-59]
    getSeconds() :返回Date对象的秒数---[0-59]
    getMilliSeconds() :返回Date对象的毫秒---[0-999]
【getUTC...】:get后加入UTC表示按照世界时间
【set...】:get改为set,向()中传入对应的参数,可以进行设置返回值
【setUTC...】 :同理,表示按照世界时间
  toString() :把Date对象转换为字符串
  toTimeString() :把Date对象对应的时间部分转换为字符串
  toDateString() :把Date对象对应的日期部分转换为字符串
【toLocale...】 :to后加Locale,按照本地时间格式
  toUTCString() :根据世界时,把Date对象转换为字符串---【取代了toGMTString()】
  tosource() :返回该对象的源代码---【只有 Gecko 核心的浏览器(比如 Firefox)支持该方法】
 getTime() :返回1970年1月1日 至今的毫秒数
   UTC() :根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。
语法 :Date.UTC(year,month,day,hours,minutes,seconds,ms)
  #:年月日必需要写
#:Date.UTC() 是一种静态方法,因为需要使用构造函数 Date() 来调用它,而不是通过某个 Date 对象调用
 valueof() :返回date对象的原始值---【返回值和方法 Date.getTime 返回的值相等】
 getTimezoneOffset() :返回本地时间与格林威治标准时间 (GMT) 的分钟差
--
posted @ 2020-07-26 18:11  -清影-  阅读(113)  评论(0)    收藏  举报