对象的属性名可加上引号,下面三行代码所定义的内容是完全相同的 var hero = { occupation : 1 }; var hero = { "occupation" : 1 }; var hero = { 'occupation' : 1 }; 通常情况下不建议在属性名上加引号,但以下情境就必须加引号: 属性名是JS的保留字之一 属性名包含了除字母数字下划线$以外的字符 属性名以数字开头 总而言之,若属性名不符合JS的变量命名规则就必须加上引号 对象的属性值可以是函数,因为函…
DOM标准是独立的(即并不依赖JS)操作结构化文档的方式 BOM实际是个与浏览器有关的对象集合,原来没任何标准可言,H5诞生后才被定义了一些浏览器间通用的对象标准 ES5严格模式"use strict"是一个JS字符串,虽然没将其赋值给某个变量,执行后也不会 有什么效果,但符合JS语法,因此不支持ES5严格模式的老式浏览器会直接忽略它,使用严格模式不会让老式浏览器无法执行代码 与传统的面向对象语言不同,JS实际上没有类,该语言的一切都是基于对象,其依靠的是一套原型系统.由于没有类,JS…
在 JS 中,函数本身也是一个包含了方法(如apply和call)和属性(如length和constructor)的对象,而prototype也是函数对象的一个属性 function f(){} f.constructor //function Function(){[native code]} 可为prototype对象赋予属性和方法,只有当f作为构造器使用时,这些属性才会起作用 添加属性和方法除了在构造函数中,还可通过prototype属性来增加该构造器所能提供的功能 function Sn…
闭包 JS只有函数作用域,函数外为全局变量,函数内为局部变量 绿圆是函数fn的作用域,在这范围内可访问局部变量b和全局变量a,橙圆是fn内部函数inner的作用域,此范围内可访问自身作用域内的变量c,也可访问父级作用域的变量b,这就形成了一条作用域链 全局空间(蓝圆)为0级作用域,绿圆是1级作用域,橙圆为2级作用域,依次类推 橙圈可访问绿圈或蓝圈内的数据,但蓝圈内访问不了绿圈,绿圈访问不了橙圈,也就是可以一路由内向外访问,但由外到内却不行 若把橙圈拿到绿圈外,蓝圈内的位置,就形成了闭包 现在橙圈…
第4章 对象 4.1 从数组到对象 对象的组成:变量名.{}.用逗号分割的属性.用冒号分割的键/值对. var f={ name:'alen', // 可以在属性名上加引号 age:12 }; 对象文本标识法:用{}定义对象的方法:数组文本标识法:用[]定义数组的方法. 4.1.1 元素.属性.方法与成员 数组包含元素,对象包含属性.说法不同,但本质相同.当对象的属性为函数时,称该属性为方法. var dog={ name:'aa', talk:function (){ //talk是一个方法…
目录 一.对象 1.1 获取属性值的方式 1.2 获取动态生成的属性的值 二.数组 2.1 检测是否为数组 2.2 增加数组长度导致未赋值的位置为undefined 2.3 用闭包实现简易迭代器 三.作用域 3.1 函数作用域(局部变量) 3.2 不存在块级作用域 3.3 变量泄露 3.4 变量提升 3.5 临时作用域 四.闭包 4.1 操作闭包中的值 五.事件监听 六.类型检测 七.类型转换 八.URL编码 8.1 编码 8.2 解码 九.JSON格式 9.1 转为JSON格式 9.2 转为对…
<JavaScript面向对象编程指南(第2版)>读书笔记(一) <JavaScript面向对象编程指南(第2版)>读书笔记(二) 目录 一.基本类型 1.1 字符串 1.2 对象 1.3 原型 1.4 常用数学方法 二.DOM操作 2.1 节点编号.名称以及值 2.2 父节点.子节点和相邻节点 2.3 添加和删除节点 2.4 属性相关 2.5 DOM合集 2.6 DOM遍历 三.其他 3.1 事件 3.2 浏览器检测 3.3 三种弹窗方式 3.4 根据浏览器历史控制前进后退 3.…
概述 <JavaScript面向对象编程指南>读书笔记① 这里只记录一下我看JavaScript面向对象编程指南记录下的一些东西.那些简单的知识我没有记录,我只记录几个容易遗漏的或者精彩的知识点,以后再看也可当做拾遗之用! 内容 1.枚举属性用for-in循环显示. 2.当我们对对象的prorotype属性进行完全重写时,有可能会对对象constructor属性产生一定的负面影响. 3.uber--子对象访问父对象的方式Triangle.uber = TwoDShape.prototype 4…
概述 JavaScript快忘完了,想看一本专业书拾遗,所以看了这本<JavaScript面向对象编程指南>. 个人觉得这本书讲的很透彻很易懂,一些原来有疑惑的地方在这本书里面豁然开朗,看起来非常爽! 现在我只记录一下我看这本书记录下的一些东西.那些简单的知识我没有记录,我只记录几个容易遗漏的或者精彩的知识点,以后再看也可当做拾遗之用! 记录 对象,方法,属性和类的通俗解释:对象往往是用名词来表示的(也被称为实例):方法一般都是些动词:属性值则往往是一些形容词:类就是相似对象的共同特征. 什么…
下面是我对闭包的理解:(把他们整理出来,整理的过程也是在梳理) 参考<JavaScript面向对象编程指南> 1.首先,在理解闭包之前: 我们首先应该清楚下作用域和作用域链 作用域:每个函数定义时创建时自己的环境即作用域 作用域链:函数内可访问自身和父级作用域中的变量,函数外不可访问函数内的私有变量 var a = 1; function f(){ var b = 1; return a; } f(); /*1*/ b; ReferenceError: b is not defined 解读—…