JavaScript 笔记二 Array和Date对象方法


Posted in Javascript onMay 22, 2010

JavaScript的对象基础

本篇主要讲解本地对象Array和Date的各种方法。

一种面向对象语言需要向开发者提供四种基本能力:

(1) 封装——把相关的信息(无论数据或方法)存储在对象中的能力。
(2) 聚集——把一个对象存储在另一个对象内的能力。
(3) 继承——由另一个类(或多个类)得来类的属性和方法的能力。
(4) 多态——编写能以多种方法运行的函数或方法的能力。

1.本地对象包括:

①Array类
②Date类

2.内置对象
3.宿主对象
Array类
toString()方法和valueOf()方法,返回特殊的字符串。该字符串是通过对每项调用toString()方法,然后用逗号把它们连接在一起构成的。例如,对具有项"red"、"green"和"blue"的数组调用toString()方法或valueOf()方法,返回的是字符串"red,green,blue"。

join()方法唯一的用途就是连接字符串值。join()方法只有一个参数,即数组项之间使用的字符串。
split()方法将字符串转换成数组,split()方法只有一个参数,就是被看作数组项之间的分隔符的字符串。如果把空字符串声明为分隔符,那么split()方法返回的数组中的每个项是字符串的字符。

concat()方法处理数组的方式几乎与它处理字符串的方式完全一样。参数将被附加在数组末尾,返回的函数值是新的Array对象(包括原始数组中的项和新的项)。

slice()方法接受一个或两个参数,即要提取的项的起始位置和结束位置。如果只有一个参数,该方法将返回从该位置开始到数组结尾的所有项;如果有两个参数,该方法将返回第一个位置和第二个位置间的所有项,不包括第二个位置处的项。

unshift()方法,它把一个项放在数组的第一个位置,然后把余下的项向下移动一个位置。

reverse()方法颠倒数组项的顺序。

sort()方法将根据数组项的值按升序为它们排序。(注意:只是对字符串代码的排序,数字数组的排序需要另解)

splice()方法最复杂的方法,把数据项插入数组的中部。

1.删除——只需要声明两个参数,就可以从数组中删除任意多个项,这两个参数是要删除的第一个项的位置和要删除的项的个数。例如arr.splice(0,2)将删除数组arr中的前两项。

2.替换而不删除——声明三个参数就可以把数据项插入指定的位置,这三个参数是起始位置、0(要删除的数组项的个数)和要插入的项。此外,还可以用第四个、第五个或更多个参数指定其他要插入的项。例如,arr.splice(2,0,"red", "green")将在位置2处插入"red"和"green"。

3.替换并删除——声明三个参数就可以把数据项插入指定的位置,这三个参数是起始位置、要删除的数组项的个数以及要插入的项。此外,还可以指定要插入的更多的项。要插入的项的个数不必等于删除的项的个数。例如,arr.splice(2,1, "red","green")将删除数组arr中位置2处的项,然后在位置2处插入"red"和"green"。

栈和队列的概念

区别一

栈:后进先出(LIFO)结构,先添加的项先删除,栈中的插入和删除都只发生在栈顶部。
队列:先进先出(FIFO)结构,先添加的项最后删除,元素的插入操作只发生在队列的尾部,而删除操作则发生在队列的头部。

区别二

栈:顶部添加项叫“推入栈”,删除顶部项叫“弹出栈”。
队列:队尾添加项叫“put”或“入队”,队头删除项叫“get”或“出队”。

在Array类中的运用

栈:push()方法用于在Array结尾添加一个或多个项,pop()方法用于删除最后一个数组项(length-1),返回它作为函数值。

队列:push()方法把数据项加入队列(即在数组结尾添加数据项),shift()方法将删除数组中的第一个项,将其作为函数值返回。

Date类

Date类的方法(列在下表中)均用于设置或获取日期值的某部分。

方    法 说    明
toLocaleDateString() 以地点特定的格式显示Date的时间部分
getTime() 返回日期的毫秒表示
setTime(milliseconds) 设置日期的毫秒表示
getFullYear() 返回用四位数字表示的日期的年份(如2004而不只是04)
getUTCFullYear() 返回用四位数字表示的UTC日期的年份
setFullYear(year) 设置日期的年份,参数必须是四位数字的年份值
setUTCFullYear(year) 设置UTC日期的年份,参数必须是四位数字的年份值
getMonth() 返回日期的月份值,由数字0(1月)到11(12月)表示
getUTCMonth() 返回UTC日期的月份值,由数字0(1月)到11(12月)表示
setMonth(month) 设置日期的月份为大于等于0的数字。对于大于11的数字,开始累计年数
setUTCMonth(month) 设置UTC日期的月份为大于等于0的数字。对于大于11的数字,开始累计年数
getDate() 返回该日期该月中的某天
getUTCDate() 返回该UTC日期该月中的某天
setDate(date) 设置该日期该月中的某天
setUTCDate(date) 设置该UTC日期该月中的某天
getDay() 返回该日期为星期几
getUTCDay() 返回该UTC日期为星期几
setDay(day) 设置该日期为星期几
setUTCDay(day) 设置该UTC日期为星期几
getHours() 返回日期中的小时值
getUTCHours() 返回UTC日期中的小时值
setHours(hours) 设置日期中的小时值
setUTCHours(hours) 设置UTC日期中的小时值
getMinutes() 返回日期中的分钟值
getUTCMinutes() 返回UTC日期中的分钟值
setMinutes(minutes) 设置日期中的分钟值
setUTCMinutes(minutes) 设置UTC日期中的分钟值
getSeconds() 返回日期中的秒值
getUTCSeconds () 返回UTC日期中的秒值
setSeconds (seconds) 设置日期中的秒值
setUTCSeconds (seconds) 设置UTC日期中的秒值
getMilliseconds() 返回日期中的毫秒值。注意,这不是自1970年1月1日以后的毫秒值,而是当前时间中的毫秒值,例如4 :55 :34.20,其中20即为时间的毫秒值
getUTCMilliseconds () 返回UTC日期中的毫秒值
setMilliseconds (milliseconds) 设置日期中的毫秒值
setUTCMilliseconds (milliseconds) 设置UTC日期中的毫秒值
Javascript 相关文章推荐
让任务管理器中的CPU跳舞的js代码
Nov 01 Javascript
js post方式传递提交的实现代码
May 31 Javascript
10个基于浏览器的JavaScript调试工具分享
Feb 07 Javascript
js获取触发事件元素在整个网页中的绝对坐标(示例代码)
Dec 13 Javascript
jquery提交form表单简单示例分享
Mar 03 Javascript
你有必要知道的25个JavaScript面试题
Dec 29 Javascript
jQuery实现下拉菜单(内容为时间)的实时更新及图表的随动更新的方法
Jul 07 Javascript
node.js实现复制文本到剪切板的功能
Jan 23 Javascript
浅析前端路由简介以及vue-router实现原理
Jun 01 Javascript
vue .js绑定checkbox并获取、改变选中状态的实例
Aug 24 Javascript
浅谈JavaScript 代码整洁之道
Oct 23 Javascript
vue组件中iview的modal组件爬坑问题之modal的显示与否应该是使用v-show
Apr 12 Javascript
Javascript笔记一 js以及json基础使用说明
May 22 #Javascript
javascript Array数组对象的扩展函数代码
May 22 #Javascript
javascript 正则替换 replace(regExp, function)用法
May 22 #Javascript
JQuery 文本框使用小结
May 22 #Javascript
基于Asp.net与Javascript控制的日期控件
May 22 #Javascript
jQueryPad 实用的jQuery测试工具(支持IE,chrome,FF)
May 22 #Javascript
用jQuery打造TabPanel效果代码
May 22 #Javascript
You might like
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
2013/04/25 PHP
php中读写文件与读写数据库的效率比较分享
2013/10/19 PHP
php ci框架中加载css和js文件失败的原因及解决方法
2014/07/29 PHP
PHP+jquery实时显示网站在线人数的方法
2015/01/04 PHP
教你识别简单的免查杀PHP后门
2015/09/13 PHP
PHP实现对文件锁进行加锁、解锁操作的方法
2017/07/04 PHP
一个判断email合法性的函数[非正则]
2008/12/09 Javascript
禁止js文件缓存的代码
2010/04/09 Javascript
JavaScript面向对象程序设计三 原型模式(上)
2011/12/21 Javascript
如何使用jquery动态加载js,css文件实现代码
2013/04/03 Javascript
JS获得浏览器版本和操作系统版本的例子
2014/05/13 Javascript
原生js事件的添加和删除的封装
2014/07/01 Javascript
javascript定义变量时带var与不带var的区别分析
2015/01/12 Javascript
javascript鼠标右键菜单自定义效果
2020/12/08 Javascript
详解JavaScript设计模式开发中的桥接模式使用
2016/05/18 Javascript
jquery 追加元素append、prepend、before、after用法与区别分析
2016/12/02 Javascript
JS Testing Properties 判断属性是否在对象里的方法
2017/10/01 Javascript
利用原生JavaScript实现造日历轮子实例代码
2019/05/08 Javascript
python登录豆瓣并发帖的方法
2015/07/08 Python
python和shell获取文本内容的方法
2018/06/05 Python
Python 判断文件或目录是否存在的实例代码
2018/07/19 Python
python利用pandas将excel文件转换为txt文件的方法
2018/10/23 Python
Python实现 版本号对比功能的实例代码
2019/04/18 Python
Win10里python3创建虚拟环境的步骤
2020/01/31 Python
日本最新流行服饰网购:Nissen
2016/07/24 全球购物
英国第一的滑雪服装和装备零售商:Snow+Rock
2020/02/01 全球购物
俄罗斯GamePark游戏商店网站:购买游戏、游戏机和配件
2020/03/13 全球购物
天游软件面试
2013/11/23 面试题
护士实习自我鉴定
2013/10/22 职场文书
幼儿园区域活动总结
2014/05/08 职场文书
2014应届本科生自我评价
2014/09/13 职场文书
高校自主招生校长推荐信
2015/03/23 职场文书
大学班干部竞选稿
2015/11/20 职场文书
高三化学教学反思
2016/02/22 职场文书
gojs实现蚂蚁线动画效果
2022/02/18 Javascript
Javascript中Microtask和Macrotask鲜为人知的知识点
2022/04/02 Javascript