js 学习笔记(三)


Posted in Javascript onDecember 29, 2009

一种面向对象语言需要向开发者提供四种基本能力:
(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 相关文章推荐
js中设置元素class的三种方法小结
Aug 28 Javascript
Jquery创建层显示标题和内容且随鼠标移动而移动
Jan 26 Javascript
JavaScript版的TwoQueues缓存模型
Dec 29 Javascript
javascript中对变量类型的判断方法
Aug 09 Javascript
javascript实现在下拉列表中显示多级树形菜单的方法
Aug 12 Javascript
JavaScript 七大技巧(二)
Dec 13 Javascript
JavaScript Ajax编程 应用篇
Jul 02 Javascript
js 实现在2d平面上画8的方法
Oct 10 Javascript
vue 内置过滤器的使用总结(附加自定义过滤器)
Dec 11 Javascript
Node.js折腾记一:读指定文件夹,输出该文件夹的文件树详解
Apr 20 Javascript
JS组件库AlloyTouch实现图片轮播过程解析
May 29 Javascript
JavaScript浅层克隆与深度克隆示例详解
Sep 01 Javascript
js DOM模型操作
Dec 28 #Javascript
滚动条变色 隐藏滚动条与双击网页自动滚屏显示代码
Dec 28 #Javascript
javascript iframe编程相关代码
Dec 28 #Javascript
通过javascript设置css属性的代码
Dec 28 #Javascript
JavaScript的public、private和privileged模式
Dec 28 #Javascript
Javascript 面向对象特性
Dec 28 #Javascript
extJs 常用到的增,删,改,查操作代码
Dec 28 #Javascript
You might like
PHP面向对象学习笔记之二 生成对象的设计模式
2012/10/06 PHP
PHP7之Mongodb API使用详解
2015/12/26 PHP
PHP重载基础知识回顾
2020/09/10 PHP
JavaScript脚本语言在网页中的简单应用
2007/05/13 Javascript
jQuery学习笔记之jQuery的动画
2010/12/22 Javascript
JavaScript原生对象之Number对象的属性和方法详解
2015/03/13 Javascript
《JavaScript函数式编程》读后感
2015/08/07 Javascript
Vuejs第一篇之入门教程详解(单向绑定、双向绑定、列表渲染、响应函数)
2016/09/09 Javascript
Bootstrap树形菜单插件TreeView.js使用方法详解
2016/11/01 Javascript
vue.js实现点击后动态添加class及删除同级class的实现代码
2018/04/04 Javascript
详解vue通过NGINX部署在子目录或者二级目录实践
2018/09/03 Javascript
ES6基础之默认参数值
2019/02/21 Javascript
微信小程序实现的一键拨号功能示例
2019/04/24 Javascript
详解element-ui级联菜单(城市三级联动菜单)和回显问题
2019/10/02 Javascript
vue的三种图片引入方式代码实例
2019/11/19 Javascript
js在HTML的三种引用方式详解
2020/08/29 Javascript
Python简单实现子网掩码转换的方法
2016/04/13 Python
python解决汉字编码问题:Unicode Decode Error
2017/01/19 Python
Python实现Linux中的du命令
2017/06/12 Python
恢复百度云盘本地误删的文件脚本(简单方法)
2017/10/21 Python
浅谈flask源码之请求过程
2018/07/26 Python
python获取地震信息 微信实时推送
2019/06/18 Python
关于numpy数组轴的使用详解
2019/12/05 Python
Pytorch技巧:DataLoader的collate_fn参数使用详解
2020/01/08 Python
解决python中显示图片的plt.imshow plt.show()内存泄漏问题
2020/04/24 Python
美国Max仓库:Max Warehouse
2020/05/31 全球购物
法国亚马逊官方网站:Amazon.fr
2020/12/19 全球购物
优秀毕业生求职推荐信范文
2013/11/21 职场文书
司机检讨书
2014/02/13 职场文书
初中毕业生的自我评价
2014/03/03 职场文书
创业女性典型材料
2014/05/02 职场文书
供应链金融服务方案
2014/05/25 职场文书
团党委领导干部党的群众路线教育实践活动个人对照检查材料思想汇
2014/10/05 职场文书
python3操作redis实现List列表实例
2021/08/04 Python
SQL语句多表联合查询的方法示例
2022/04/18 MySQL
使用compose函数优化代码提高可读性及扩展性
2022/06/16 Javascript