《JavaScript语言精粹》知识点总结(一)
来源:互联网 发布:用友软件是什么 编辑:程序博客网 时间:2024/06/07 16:08
第2章 语法
2.3 数字
1. JavaScript只有一个单一的数字类型,它在内部被表示为64位的浮点数,1与1.0是相同的值。
number literal = integer + (fraction) + (exponent)
2. 值NaN是一个数值,它表示一个不能产生正常结果的运算结果,NaN不等于任何值,包括它自己,可以用函数 isNaN(number) 来检测NaN。
2.5 语句
1. 在条件语句中,下面列出的值被当作假(falsy):
fasle, null, undefined, 空字符串‘’, 0, NaN
2. try语句
try语句执行一个代码块,并捕获该代码块抛出的任何异常。catch从句定义了一个新的变量,它将接收该异常对象。
3. throw语句
throw + expression
throw语句抛出一个异常。如果throw语句在一个 try 代码块中,那么控制权会跳到 catch 语句中。如果 throw 语句在函数中,刚函数调用被放弃,且控制权会跑到调用该函数 的 try 语句中的 catch从句中。
throw 语句中的表达式通常是一个对象字面量,它包含一个 name 属性和一个 message 属性。异常捕获器可以使用这些信息去决定该做什么。
第3章
3.1 对象字面量
var empty_object = {};var stooge = { "first-name": "Jerome", "last-name": "Howard"};
嵌套
var flight = { airline: 'Oceanic', number: 815, departure: { IATA: 'SYD', time: '2004-09-22 14:55', city: 'Sydney' }, arrival: { IATA: 'LAX', time: '2004-09-23 10:42', city: 'Los Angeles' }};
3.2 检索
要检索对象中包含的值,可以采用在 [ ] 后缀中括住一个字符串表达式的方式。如果字符串表达式是一个常数,而且它是一个合法的JS标识符而并非保留字,那么也可以用表示法代替。优先考虑使用 " ." 表示法。
如果尝试检索一个并不存在的成员元素的值,将返回一个undefined值。
3.5 原型
每个对象都连接到一个原型对象,并且它可以从中继承属性。所有通过对象字面量创建的对象都连接到 Object.prototype 这个JS中标准的对象。
当你创建一个新对象时,你可以选择某个对象作为它的原型。我们将给 Object 增加一个 beget (产生、引起、招致、当…父亲)方法。这个 beget 方法创建一个使用原对象作为其原型的新对象。
if (typeof Object.beget !== 'function') { Object.beget = function (o) { var F = function () {}; F.prototype = o; return new F(); };}var another_stooge = Object.beget(stooge);原型连接在更新时是不起作用的。当我们对某个对象做出改变时,不会触及到该对象的原型。
原型连接只有在检索值的时候才被用到。如果我们尝去获取对象的某个属性值,且该对象没有此属性名,那么JS会试着从原型对象中获取属性值。如果还没有,再从它的原型中寻找,直到该过程最后到达终点 Object.prototype 。如果想要的属性完全不存在于原型链中,那么结果就是undefined。
3.6 反射
检查对象并确定对象有什么属性。
typeof flight.arrival //'object'flight.hasOwnProperty('number') //true
3.8 删除
删除对象的属性可能会让来自原理链中的属性浮现出来。
delet another_stooge.nickname;
3.9 减少全局变量污染
最小化使用全局变量的一个方法是在你的应用中只创建唯一一个全局变量,该变量此时变成了你的应用的容器。
var MYAPP = {};MYAPP.stooge = { "first-name": "Jerome", "last-name": "Howard"};MYAPP.flight = { airline: 'Oceanic', number: 815, departure: { IATA: 'SYD', time: '2004-09-22 14:55', city: 'Sydney' }, arrival: { IATA: 'LAX', time: '2004-09-23 10:42', city: 'Los Angeles' }};MYAPP.stooge 指向的是顶层结构。另外,用闭包来进行信息隐藏的方式,是另一个有效减少全局污染的方法。
- 《JavaScript语言精粹》知识点总结(一)
- 《JavaScript语言精粹》知识点总结(二)
- JavaScript语言精粹 读书笔记(一)
- javascript语言精粹笔记 (一)语法
- javascript 语言精粹 学习笔记(一)
- 《JavaScript语言精粹》读书笔记(一)
- 【web】《javascript语言精粹》笔记(一)
- 《JavaScript语言精粹》摘录一
- 《Javascript语言精粹》的学习(一).对象和函数
- JavaScript语言精粹学习笔记-函数(一)
- 【JavaScript语言精粹】读书笔记(一)——语法
- javascript知识点总结(一)
- Javascript知识点总结(一)
- JavaScript语言精粹(修订版)
- javascript语言精粹(笔记)
- JavaScript语言精粹之函数篇(一)
- 《javascript语言精粹》学习笔记(一)
- js语言精粹(一)
- php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
- 2016,新的开始
- BZOJ2049Cave 洞穴勘测
- 101.Remove Duplicates from Sorted List II
- 配置ftrace
- 《JavaScript语言精粹》知识点总结(一)
- 从底层向上理解GPU(GPU驱动的初始化过程)
- 自己实现个Android下仿IOS的时间选择器、时间控件Time-Selector
- struts-spring-mybatis整合项目搭建
- 年终总结
- Unity定时器
- EOF on Windows
- PHP运算符
- UNIX环境高级编程 apue.h头文件的配置