- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
读书笔记:JavaScript语言精粹
读书笔记:JavaScript语言精粹
第2章:语法
J avaScript提供两种注释形式,一种是用/* */包围的注释块,另一种是以//为开头的行注释。 建议
避免使用/* */,而用//注释代替它。
标识符由一个字母开头,其后可选择性地加上一个或多个字母、数字或下划线。
J avaScript 只有一个数字类型。它在内部被表示为64位的浮点数。与其他大多数编程语言不同的是,
它没有分离出整数类型,所以1和1.0的值相同。
如果一个数字字面量有指数部分,那么这个字面量的值等于e之前的数字与10的e之后数字的次方相
乘。
NaN是一个数值,它表示一个不能产生正常结果的运算结果。NaN不等于任何值,包括它自己。可以
用函数isNaN(number)检测NaN.
Infinity表示所有大于1.79769313486231570e+308的值。
J avaScript有一个对象Mat h,它包含一套作用于数字的方法。
字符串字面量可以被包在一对单引号或双引号中,它可能包含0个或多个字符。\ (反斜杠)是转义字
符。J avaScript 中的所有字符都是16位的。
J avaScript没有字符类型。要表示一个字符,只需创建仅包含一个字符的字符串即可。
字符串是不可变的。一旦字符串被创建,就永远无法改变它。但可以通过+运算符连接其他字符串来
创建一个新字符串。两个包含着完全相同的字符且字符顺序也相同的字符串被认为是相同 ( )的
字符串。
一个编译单元包含一组可执行的语句。在Web浏览器中,每个script标签提供一个被编译且立即执
行的编译单元。因为缺少链接器,J avaScript把它们一起抛到一个公共的全局名字空间中。
当var语句被用在函数内部时,它定义的是这个函数的私有变量。 (最佳实践:定义任何变量都使用
var )
for in语句会枚举一个对象的所有属性名 (键名)。通常需要检测object.hasOwnProperty(variable)来
确定这个属性名是该对象的成员,还是来自于原型链。
第3章:对象
J avaScript 的简单数据类型包括数字、字符串、布尔值 (t rue和false )、null值和undefined值。其他
所有的值都是对象。
数字、字符串和布尔值“貌似”对象,因为它们拥有方法,但它们是不可变的。J avaScript 中的对象是可
变的键控集合 (keyed collections )。
对象是属性的容器,其中每个属性都拥有名字和值。属性的名字可以是包括空字符串在内的任意字符
串。属性值可以是除undefined值之外的任何值。
要检索对象里包含的值,可以采用在 []后缀中括住一个字符串表达式的方式。如果字符串表达式是
一个字符串字面量,而且它是一个合法的J avaScript标识符且不是保留字,则也可以用 .表示法代
替。优秀考虑使用 .表示法,因为它更紧凑且可读性更好。
如果你尝试检索一个并不存在的成员属性的值,将返回undefined 。
||运算符可以用来填充默认值:
var status = flight.status || unknow;
尝试从undefined的成员属性中取值将会导致TypeError异常。可以通过运算符来避免错误。
flight.equipment // undefined
flight.equipment.model // throw TypeError
flight.equipment flight.equipment.model // undefined
对象通过引用来传递。它们永远不会被拷贝:
var x = stooge;
x.nickname = Curly;
var nick = stooge.nickname;
// 因为x和stooge是指 向同一个对 象 的引用 ,所 以nick为 Curly
var a = {}, b = {}, c = {};
// a、b和c每个都 引用一个不 同的空对 象
a = b = c = {};
// a、b和c都 引用 同一个 空对 象
每个对象都连接到一个原型对象,并且它可以从中继承属性。所有通过对象字面量创建的对象都连接
到Object.prototype这个J avaScript 中标准的对象。
原型连接在更新时是不起作用的。当对某个对象做出改变时,不会触及该对象的原型。原型连接只有
在检索值的时候才被用到。
原型关系是一种动态的关系。如果我们添加一个新的属性到原型中,该属
您可能关注的文档
- 论传导抗扰度测试配置模型的充要条件(上).pdf
- 论侵害生命权之损害赔偿(姚辉邱鹏).doc
- 论列选主元法在GaussSeidel迭代法和SOR迭代中的应用陈华韦.pdf
- 论原始宗教信仰中体育元素的表达以萨满教为例张德智.pdf
- 论列子杨朱篇贾占新.pdf
- 论四探针法测试半导体电阻率时的厚度修正宿昌厚.pdf
- 论土地污染案件中对土地本身的救济问题.pdf
- 论商务旅游市场价值与开发.pdf
- 论土政策孙开红.pdf
- 论塔希尔王朝与阿拔斯王朝的关系.pdf
- 智能教室在小学美术创作教学中的应用与效果评估教学研究课题报告.docx
- 基于数字化平台的初中学生数字素养实践活动评价体系构建与应用教学研究课题报告.docx
- 七、服务业市场细分:老年服务业的蓝海市场分析与开发教学研究课题报告.docx
- 防摔伤大班安全课件.pptx
- 2025年大理州祥云县公共就业和人才服务中心公益性岗位人员招聘模拟试卷含答案详解.docx
- 传统节日商业化现象下高中生文化自信的培养与教育启示教学研究课题报告.docx
- 《农产品电子商务》教案 项目四 农产品质量安全管控与品牌建设.docx
- 初中课间休息时段安全教育策略与安全管理研究教学研究课题报告.docx
- 《数字化供应链风险管理在制造企业供应链金融风险管理中的信用风险控制》教学研究课题报告.docx
- 《职业教育信息化背景下双师型教师队伍建设策略探讨》教学研究课题报告.docx
文档评论(0)