随笔分类 - JavaScript高级程序设计(第三版)笔记
摘要:HTML5 与类相关的扩充 1、getElementsByClassName()方法 改方法接受一个参数,即一个包含一或多个类名的字符串,返回带有指定类的所有元素的NodeList。传入多个类型时,先后顺序不重要。 调用这个方法时,只有位于调用元素子树中的元素才会返回。 2、classList属性 
        阅读全文
                
摘要:DOM扩展 对DOM的两个主要扩展是SelectorsAPI(选择符API)和HTML5 SelectorsAPI(选择符API)是由W3C发起制定的一个标准,致力于浏览器原生支持CSS查询,SelectorsAPILevel 1的核心是两个方法:querySelector()和querySelec
        阅读全文
                
摘要:Text类型 文本节点由Text类型表示,包含的是可以照字面解释的纯文本内容。Text节点具有以下特征: nodeType的值为3 nodeName的值为"text" nodeValue的值为节点所包含的文本 parentNode的值为一个Element 没有子节点 可以通过nodeValue属性或
        阅读全文
                
摘要:Element类型 Element类型用于表现XML或HTML元素,提供了对元素标签名、子节点及特性的访问。Element节点具有以下特征: nodeType的值为1 nodeName的值为元素的标签名 nodeValue的值为null parentNode的值为Document或Element 其
        阅读全文
                
摘要:Document类型 JavaScript通过Document类型表示文档。在浏览器中,document对象是HTMLDocument(继承自Document类型)的一个实例,document对象是window对象的一个属性,因此可以将其作为全局对象来访问。Document节点具有下列特征: nod
        阅读全文
                
摘要:DOM(文档队形模型)是针对HTML和XML文档的一个API(应用程序编程接口)。DOM描绘了一个层次化的节点树,允许开发人员添加,移除和修改页面的一部分。DOM可以讲任何HTML和XML文档描绘成一个有多层次节点构成的结构。节点分为几种不同的类型,每种类型分别表示文档中不同的信息。每个节点都拥有各
        阅读全文
                
摘要:模仿块级作用域 Javascript中没有块级作用域的概念,这意味着在块语句中定义的变量,实际上是在包含函数中而非语句中创建的 在for循环中定义的局部变量i可以再for循环外访问,因为变量i是定义在outputNumbers()的活动对象中的,因此从它有定义开始,就可以在函数内部随处访问它。 遇到
        阅读全文
                
摘要:闭包难理解,书上写得有些难理解,觉得有些人的博客写的很好就借鉴了一下 闭包 闭包是指有权访问另一个函数作用域中的变量的函数。创建闭包的常见方式,就是在一个函数内部创建另一个函数 闭包是很多语言都具备的特性,在js中,闭包主要涉及到js的几个其他的特性:作用域链,垃圾(内存)回收机制,函数嵌套,等等.
        阅读全文
                
摘要:递归 递归函数是在函数通过调用自身的情况下构成的 这是一个经典的递归阶乘函数,但是下面的代码会让它出错 在执行anotherFactorial()函数时,factorial已经不是函数了 arguments.callee是一个指向正在执行的函数的指针,因此何以用它来实现对函数的递归调用 但是在严格模
        阅读全文
                
摘要:原型链 就是让一个原型等于另一个类的实例,以此类推 要注意instance.constructor现在指向的是SuperType,这是因为原来SubType.prototype中的constructor被重写了 1、别忘记默认的原型 所有函数的默认原型都是Object的实例,因此默认原型都会包含一个
        阅读全文
                
摘要:原型模式 我们创建的每个函数都有一个prototype属性,这个属性是一个指针,指向一个对象,而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法,通俗的讲,prototype就是通过构造函数创建的实例对象的原型对象,使用原型对象的好处是可以让所有的实例对象共享它的属性和方法 1、理解原型
        阅读全文
                
摘要:工厂模式 工厂模式虽然解决了创建多个相似对象的问题,但却没有解决对象识别的问题(即怎么样知道一个对象的类型) 构造函数模式 Person()中的代码除了与createPerson()中相同的部分外,还存在以下不同之处: 1、没有显示的创建的对象 2、直接将属性和方法赋给了this对象 3、没有ret
        阅读全文
                
摘要:理解对象 创建自定义对象的最简单方式就是创建一个Object的实例,然后再为它添加属性和方法 创建对象的首选模式是对象字面量方式 属性类型 内部属性无法直接访问,ECMAScript5把它们放在两对方括号中,分为数据属性和访问器属性 1、数据属性 数据属性包含一个数据值的位置。在这个位置可以读取和写
        阅读全文
                
摘要:ECMAScript数组的每一项可以保存任何类型的数据,并且数组的大小是可以动态调整的。 创建数组的基本方式有两种,第一种是使用Array构造函数 创建一个含有二十项的数组 创建一个包含三项的数组 当然也可以省略new操作符 创建数组的第二种基本方式是使用数组字面量表示法 数组的项数保存在lengt
        阅读全文
                
摘要:创建Object实例的方式有两种。 第一种是使用new操作符后跟Object构造函数 另一种方式是使用字面量形式表示法 在使用字面量语法时,属性名也可以使用字符串 在使用字面量语法时,如果留其花括号,则可以定义只包含默认属性和方法的对象 注意:在使用对象字面量定义对象时,不会调用Object构造函数
        阅读全文
                
摘要:定义:由ECMAScript实现提供的,不依赖与宿主环境的对象,这些对象在ECMASript程序执行之前就已经存在了。 意思就是说,开发人员不必显示的实例化内置对象,因为他们已经实例化了。例如Object、Array和String。ECMA-262还定义了两个单体内置对象:Global和Math。 
        阅读全文
                
摘要:ECMAScript5还提供了三个特殊的引用类型:Boolean Number String 这些类型与其他的引用类型相似,但是也具有各自的基本类型的特殊行为。每当读取一个基本类型值的时候, 后台就会创建一个对应的基本包装类型的对象 s1包含一个字符串是一个基本类型值,所以不可能有方法,但是在后台经
        阅读全文
                
摘要:Function类型 定义函数的三种方式: 1、函数声明 2、函数表达式 3、Function构造函数(不推荐) //最后一个参数始终都被认作函数体,会导致解析两次代码 注意:函数名仅仅是指向函数的指针,因此函数名与其他包含对象的指针没有设么区别 注意:使用不带圆括号的函数名是访问函数指针,并不是调
        阅读全文
                
摘要:JavaScript高级程序设计(第三版)笔记-第五章-RegExp类型 定义正则表达式有两种方式 1、用字面量形式定义正则表达式: patterns:可以是任何简单或者复杂的正则表达式 flags: g:表示全局 i:表示不区分大小写 m:表示多行模式,在到达一行的末尾时还会继续查找下一行 模式中
        阅读全文
                
 
                     
                    
                 
                    
                
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号