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),即事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播 ...
随机推荐
- 如何为logo配色
原网链接:http://design.jobbole.com/125287/ 色彩是带有情绪的.我们能感知到的色彩能带来各种各样的情绪,也能传达一种思想或一种文化. 企业logo的色彩就是利用上面的原 ...
- python设计模式1:创建型模式
1.原型模式 如果想根据现有的对象复制出新的对象并进行修改,可以考虑“原型模式”,而无需知道任何创建细节.(有点像写轮眼...你不需要知道它) import copy class Point: __s ...
- VS2010/VS2013怎么复制项目/拷贝项目/克隆项目
本文以vs2013为例,讲述了如何复制项目.vs2008,vs2010,vs2012等版本应操作类似 vs中的项目位于解决方案中,简单的复制粘贴是不能实现项目复制的 一.准备 原项目名称:test 目 ...
- BZOJ 2440 【中山市选2011】 完全平方数
Description 小 X 自幼就很喜欢数.但奇怪的是,他十分讨厌完全平方数.他觉得这些数看起来很令人难受.由此,他也讨厌所有是完全平方数的正整数倍的数.然而这丝毫不影响他对其他数的热爱. 这天是 ...
- BZOJ 3295 【Cqoi2011】 动态逆序对
Description 对于序列\(A\),它的逆序对数定义为满足\(i<j\),且\(A_i>A_j\)的数对\((i,j)\)的个数.给\(1\)到\(n\)的一个排列,按照某种顺序依 ...
- Linux 信号详解一(signal函数)
信号列表 SIGABRT 进程停止运行 SIGALRM 警告钟 SIGFPE 算述运算例外 SIGHUP 系统挂断 SIGILL 非法指令 SIGINT 终端中断 SIGKILL 停止进程(此信号不能 ...
- log4j2 与 spring mvc整合
log4j2不仅仅是log4j的简单升级,而是整个项目的重构,官网地址:http://logging.apache.org/log4j/2.x/,大家可以从官网的介绍看出它相比log4j第1代的种种优 ...
- 工作随笔——使用svnsync实时备份SVN版本库
前段时间把SVN版本库从win迁移到了Linux上,没隔几天那台win的磁盘就严重坏道了....这TMD什么运气! 花费了点时间研究了下svn自己的同步工具.写个日志记录下. 注意:svnsync要求 ...
- c++ 副本构造器
我们都知道两个指针指向同一个变量时如果一个指针被释放那么另一个就会出问题 为了说明问题我做了一个很恶心的小例子 class C { public : C(int v) { ptrInt=new int ...
- 求最长回文子串 - leetcode 5. Longest Palindromic Substring
写在前面:忍不住吐槽几句今天上海的天气,次奥,鞋子里都能养鱼了...裤子也全湿了,衣服也全湿了,关键是这天气还打空调,只能瑟瑟发抖祈祷不要感冒了.... 前后切了一百零几道leetcode的题(sol ...