js-JavaScript高级程序设计学习笔记3
第五章 引用类型
1、使用new操作符和Date构造函数创建日期对象。
2、创建特定日期有两个方法——Date.parse()和Date.UTC()。后者小时数为0时显示时间是8点,应该是因为本地是东八区。
3、使用Date.now()方法可以分析代码的运行时间。代码开头使用一次,结束使用一次,然后两次相减得到运行的毫秒数。
4、在不支持Date.now()的浏览器中,使用var start=+new Date();可达到同样的目的。
5、可以直接用比较操作符比较日期的大小。
6、使用构造函数来定义正则表达式,需要对元字符双重转义。
7、函数是对象,函数名是指针。
8、解析器会先读取函数声明,使其在任何代码之前可用。
9、函数内部有两个特殊的对象,arguments和this。
10、arguments的用途是保存函数参数,这个对象有个名叫callee的属性,该属性是个指针,指向拥有这个arguments对象的函数。可用于在递归时接触函数体内代码与函数名的耦合状态。
11、this引用的是函数据以执行的环境对象。
12、ES5的另一个函数对象属性——caller,保存着调用当前函数的函数的引用。
13、每个函数都包含两个属性:length和prototype。length属性表示函数希望接收的命名参数的个数。
14、每个函数都包含两个非继承而来的方法:apply()和call()。这两个方法的用途都是在特定的作用域中调用函数,实际上等于设置函数体内this对象的值。
15、apply()方法接收两个参数:一个是在其中运行函数的作用域,另一个是参数数组(可以是Array实例,也可以是arguments对象)。call()与apply()作用相同,但是传递给函数的参数必须逐个列举出来。
16、传递参数并非apply()和call()的真正用武之地,他们强大的地方在于能够扩充函数赖以运行的作用域。P117。用他们扩充作用域的好处是对象不需要与方法有任何耦合关系。
17、ES5还定义了一个方法:bind()。这个方法创建一个函数的实例,其this值会被绑定到传给bind()函数的值。如var objectSayColor=sayColor.bind(o);在这里,sayColor()调用bind()并传入对象o,创建了objectSayColor()函数,它的this值等于o。
18、Number类型中将数值格式化为字符串的方法——toFixed()、toExpoential()、toPrecision()。前两个接收数值表示小数的位数,第三个接收数值表示总位数。
19、字符串方法——slice()、substr()、substring()的异同以及对负的参数的处理方法见P124。
20、trim()方法创建一个字符串的副本,删除前置和后缀的所有空格。
21、字符串的match()方法接收一个正则表达式或者RegExp对象,与调用RegExp的exec()方法相同。
22、eval()方法能够解析代码字符串,谨慎使用。
23、找到数组中的最大或最小值,可以使用apply()方法。
var values=[1,2,3,4,5,6,7,8];
var max=Math.max.apply(Math,values);
24、随机返回一个范围内的整数
function selectFrom(lowerValue,upperValue){
var choices=upperValue-lowerValue+1;
return Math.floor(Math.random()*choices+lowerValue);
} var num=selectFrom(2,10);
//介于2到10之间的一个随机数值
25、三种基本的包装类型——Boolean、Number、String。特征:1、每个包装类型都映射到同名的基本类型。2、在读取模式下访问基本类型值时,就会创建对应的基本包装类型的一个对象,方便了数据的操作。3、操作基本类型值得语句一经执行完毕,就会立即销毁新创建的包装对象。
js-JavaScript高级程序设计学习笔记3的更多相关文章
- JavaScript高级程序设计---学习笔记(一)
今天,2017.3.17开始利用课余时间仔细学习<JavaScript高级程序设计>,将需要掌握的知识点记录下来,争取把书里的所有代码敲一遍并掌握. 1.标识符命名最好是第一个字母小写,剩 ...
- javascript高级程序设计学习笔记
javascript高级程序设计,当枕头书已经好久了~zz 现在觉得自己在js的开发上遇到了一些瓶颈,归根究底还是基础太薄弱,所以重新刷一遍js高程希望有更新的认识. 一.javascript简介 ...
- javascript 高级程序设计 学习笔记
<!--<script> // 异步请求封装 IE6即以上浏览器 // ajax(url,fnSucc,selectID,fnFaild) //url 请求地址 //fnSucc 异 ...
- JavaScript高级程序设计---学习笔记(二)
面向对象程序设计1.属性类型.定义多属性.读取属性特性对象的属性在创建时都带有一些特征值,JavaScript通过这些特征值来定义它们的行为.这些特性是为了实现JavaScript引擎用的,因此不能直 ...
- JavaScript高级程序设计学习笔记--DOM
DOM(文档对象模型)是针对HTML和XML文档的一个API(应用程序接口). Document类型 文档的子节点 虽然DOM标准规定Document节点的子节点可以是DocumentType,Ele ...
- Javascript高级程序设计学习笔记一
看完w3school的javascript的概念,有点基础,开始红皮书的路程,今晚总结前二章的心得. 第一章:javascript简介 重点是javascript的实现是由 ECMAScript(核心 ...
- JavaScript高级程序设计学习笔记--面向对象的程序设计(二)-- 继承
相关文章: 面向对象的程序设计(一) — 创建对象 http://www.cnblogs.com/blackwood/archive/2013/04/24/3039523.html 继承 继承是OO语 ...
- JavaScript高级程序设计学习笔记第十章--DOM
1.DOM:文档对象模型,是针对 HTML 和 XML 文档的一个 API(应用程序编程接口). 2.DOM 可以将任何 HTML 或 XML 文档描绘成一个由多层节点构成的结构. 3.文档节点是每个 ...
- JavaScript高级程序设计学习笔记第一章
作为学习javascript的小白,为了督促自己读书,写下自己在读书时的提炼的关键点. 第一章: 1.JavaScript简史:Netscape Navigator中的JavaScript与Inter ...
- JavaScript高级程序设计学习笔记之事件
1.事件流 事件流描述的是从页面中接收事件的顺序. 事件冒泡 IE的事件流叫做事件冒泡(event bubbling),即事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播 ...
随机推荐
- asp.net webapi [FromBody]string 获取不到ajax post的数据的解决方法
webapi中如下([FromBody]string jsonData: public async Task<ResItem> Post([FromBody]string jsonData ...
- Anyconnect的VPN环境部署(2)-在Linux客户机上连接Anyconnect
由于之前已经在机房IDC安装了Anyconnect的VPN服务环境(参考:Anyconnect的VPN环境部署(1)-OpenConnect server(ocserv)服务安装)今天介绍下在linu ...
- 匹配字符串的KMP算法
其中next序列,表示子串的前后缀最大匹配长度. 例如对于字符串C[], next[i]表示子串c[0 .. i]中, 前缀与后缀的最大匹配长度. 举例如果子串是 abcuab, 其前缀是a, ab, ...
- 4816 江哥的dp题b
4816 江哥的dp题b 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 给出两个1-N的随机排列A,B.若 ...
- BZOJ 1834 【ZJOI2010】 network 网络扩容
Description 给定一张有向图,每条边都有一个容量C和一个扩容费用W.这里扩容费用是指将容量扩大1所需的费用.求: 1. 在不扩容的情况下,1到N的最大流: 2. 将1到N的最大流增加K所需的 ...
- DocOptimizer 0.9.0 Beta Released
DocOptimizer 是一个文档优化工具,它通过移除Excel中多余的单元格:将嵌入的OLE替换成图片:移除文档中的隐藏信息:优化文档中的图片等等手段,将Office或PDF文件压缩20%-90% ...
- KindEditor得不到textarea值的解决方法
转自:http://blog.phpha.com/archives/510.html 以前有朋友遇到过这个问题,就是KindEditor在火狐下或者其他浏览器下都无法得到textarea文本框的值,点 ...
- tomcat 新手上路
前提:本机先安装好JDK,保证常规java环境已经具备 1.下载Tomcat 7.0现在官网上好象已经没有安装程序版了,只有免解压zip版本(现在最新的版本是7.0.42) 下载地址 http://t ...
- 2013级软件工程GitHub账号信息
GitHub账号信息 序号 班级 学号 姓名 个人GitHub网址 1 信1301-1班 20122951 刘伟 https://github.com/weige8882 2 信1301-1班 201 ...
- Pathoto项目:AWS+golang+beego搭建
帮兄弟写了一个网站,由于要在国外使用,选择了AWS作为服务器. 不知道后面的价格如何,12个月免费的确吸引了我. 花费3天时间,从注册到服务器搭建访问,终于搞定了.下面记录一下其中容易出错的命令. 1 ...