《JavaScript启示录》书评

出版日期:2014-3-1
ISBN:9787115334947
作者:Cody Lindley
页数:126页

相当给力,把各种小知识点很好梳理了一边。

相当给力,把各种小知识点很好梳理了一边。相当给力,把各种小知识点很好梳理了一边。相当给力,把各种小知识点很好梳理了一边。相当给力,把各种小知识点很好梳理了一边。相当给力,把各种小知识点很好梳理了一边。

书很薄,内容点多,代码详尽

1.书中都是精华,很喜欢这种很薄的书2.列举大量知识点,都是些应该知道的知识点3.但都比较简单,看过犀牛书应该就不用买这本了4.看代码就可以了,几乎不需要看内容5.看了3天终于看完了,推荐大家阅读

没有什么惊艳之处

这本书主要讲了对象的特点、对象与原始值之间的关系、作用域、原型、this 关键字……总之就是围绕着「对象」这一概念展开的。对我来说这本书的内容基本没有什么干货,说的那些 90% 以上都已经知道并掌握。不过,正像封底所说的——「本书将会帮助你巩固对 JavaScript 的理解」。在看书的同时,对已掌握的知识进行了梳理,现在更加系统化、体系化了。该译本有很多翻译的错误,还有一些漏掉、不通顺的地方,容易给基础不那么扎实的人造成误解、困扰!

JS启示录——深入了解JS对象

JS对象JS几乎所有东西都是对象或用起来像对象摘要自定义构造函数,保持名称第一个字母大写字面量表达式创建对象{},[]创建的是对象1,’string’,true,创建的是原始值new关键字调用构造函数的语法来创建对象new Number()new String()new Boolean() 创建的是对象Number()String()Boolean() 没有new关键字的,则创建的是原始值null undefined是原始值原始值 按值复制;对象 按引用存储,===比较是否指向同一个对象构造函数实例都拥有指向其构造函数的constructor属性,instanceof只适用于构造函数创建返回的复杂对象和实例相较于点,中括号可用来访问特殊名的属性in可坚持一个对象的属性,包括原型链;hasOwnProperty()可检查来自非原型链属性的对象Chapter4 函数函数返回值默认undefined,构造函数返回值为对象实例函数是对象,因为可有属性,是个值(最终返回值)this arguments适用于所有函数,argums.callee函数定义有三种函数构造函数new Function()函数语句function a(){}函数表达式var a = function(){}调用函数,call(),apply()区别是参数传递的不同,前者传递多个分开的参数,后者传递多个参数组成的数组自调用的函数表达式,若要立即调用函数,需在函数外面的圆括号,或任何将函数转换为表达式的符号。(function (){}()) ,(function (){})(),!function (){}(),var a = function (){}()function (){}()不会立即执行函数表达式没有被提升,只有函数语句被提升,即函数定义前可被调用Chapter5 head/全局对象head对象,包含所有对象的对象浏览器是window,this全局对象,全局属性是直接包含在head对象内不的值显示引用head,性能代价高,若只依靠作用域链,避免显示引用head会更快Chapter6 thisthis在函数内部使用,引用包含函数的对象自定义构造函数:new,this指对象实例;若没有new,this是上下文call apply,控制this值this的宿主函数北封装在另一个函数内或另一个函数的上下文中被调用,this永远是对head对象的引用;可在父函数that保留this引用构造函数的prototype属性的函数中使用this,this引用调用方法的实例Chapter7 作用域&闭包作用域是执行代码的上下文,js作用域包括全局作用域,函数作用域,eval作用域作用域链(词法作用域):包含函数的函数,会创建堆栈执行作用域,这些链接在一起的栈称为作用域链;var vs 全局作用域函数定义时确定作用域,而非调用时确定,所以又叫词法作用域闭包:让函数向全局作用域返回一个嵌套函数,但该函数仍能通过作用域链访问其父函数的作用域;闭包是由作用域链引起的作用域链式基于代码的编写方式创建的,而不是基于调用函数所在的上下文,这使得函数即使从一个不同的上下文调用函数,也能够访问最初编写代码时所在的作用域,这称为闭包。Chapter8 函数原型属性原型链 最后是Object.prototype默认的prototype属性是Object()对象myArray.proto或myArray.constructor.prototype引用Array.prototype用新对象替换prototype属性回删除默认构造函数属性,constructorArray.prototype={},myArray.constructor===Object();所以要Array.prototype={constructor:Array};用新对象替换prototype属性不会更新以前的实例:Array.prototype={a:1}不会更新;Array.prototype.a=2会更新原型继承链,实例化想要继承的对象,将该对象实例作为要继承该对象实例的函数的prototype属性值,eg:var Person = function () { } var Chef = function () { } Chef.prototype = new Person(); var cody = new Chef()Chapter12 Boolean()Boolean(0 -0 null false NAN undefined “”) 都是false非原始false布尔对象转换为true,eg:Boolean('false')//true var falseValue=new Boolean(false); if(falseValue){console.log('falseValue is truthy');}Others直接在原始数字上访问属性时,该值被当作对象之前必须进行评估,1..toString(),第一个点被认为是数字十进制的小数点;临时包装器对象null可表明属性拥有一个空值,等待赋值;typeof null返回object,===null 来判断,==无法区分null和undefinedundefined告诉你有东西丢失了;永远不要将一个值设置为undefined,若制定一个属性或变量值不可用,应为null声明的变量未指定值试图访问的对象属性未定义,并且不存在于原型链undefined in this全局作用域定义undefined

书不错,翻译不行

书不错,不是入门的书,需要至少知道一些JS的东西,薄薄的一本把很多东西讲的非常明白,比如this关键字、闭包、作用域但是翻译的不好,有能力的还是推荐去看原版吧。紫薯布丁紫薯布丁紫薯布丁紫薯布丁


 JavaScript启示录下载


 

农业基础科学,时尚,美术/书法,绘画,软件工程/开发项目管理,研究生/本专科,爱情/情感,动漫学堂PDF下载,。 PDF下载网 

PDF下载网 @ 2024