代码改变世界

JS存在性

2017-04-20 12:27 by 心猿意‘码’, 167 阅读, 0 推荐, 收藏, 编辑
摘要:in 操作符会检查属性是否在对象及其[[prototype]]原型链中,hasOwnProperty(...)只会检查属性是否在对象中当对象没有连接到 Object.prototype ,可以用 Object.prototype.hasOwnProperty.call(myObject,"a") 注 阅读全文

JS对象或属性的不变性

2017-04-19 12:58 by 心猿意‘码’, 1153 阅读, 0 推荐, 收藏, 编辑
摘要:提到不变性,不得不提一个概念: 对象常量定义:结合可写性与可配置性可以创建一个真正的常量属性(不可修改、重定义、删除) 不变性可划分为以下几个等级: 1)禁止扩展:Object.preventExtensions(...) 代码示例: 分析:这里可以看到,b属性创建失败 注意:在严格模式下,会抛出T 阅读全文

JS属性描述符

2017-04-18 12:44 by 心猿意‘码’, 1246 阅读, 0 推荐, 收藏, 编辑
摘要:这段代码中的属性描述符不仅只有2,还有writable(可写)、enumerable(可枚举)、configurable(可配置)三种 在创建普通属性时属性描述符会使用默认值,我们也可以使用 Object.defineProperty(...)来添加一个新属性或者修改一个已有属性(如果是config 阅读全文

JS绑定种类汇总

2017-04-17 13:16 by 心猿意‘码’, 894 阅读, 0 推荐, 收藏, 编辑
摘要:这里是《你不知道的JS》中常见的this绑定种类分享: 1)默认绑定: 解析:foo()是直接使用不带任何修饰的函数引用进行调用的,因此只能使用默认绑定,this指向全局对象 注意:严格模式下与foo()的调用位置无关:引擎会抛出TypeError: this is undefined的异常 2)隐 阅读全文

JS的块级作用域

2017-04-16 12:08 by 心猿意‘码’, 2235 阅读, 0 推荐, 收藏, 编辑
摘要:今天带来的是 “对《你不知道的js》中块级作用域的总结” 分享: 1)用with从对象中创建出来的作用域只在with声明中而非外部作用域有效,同时可以访问已有对象的属性并将其添加到已有对象上 代码demo: 2)try/catch 的catch分句会创建一个块级作用域,其中声明的变量仅在catch内 阅读全文

JS中的几种函数

2017-04-15 11:21 by 心猿意‘码’, 1933 阅读, 0 推荐, 收藏, 编辑
摘要:函数可以说是js中最具特色的地方,在这里我将分享一下有关函数的相关知识: 包装函数: (function foo(){...})作为函数表达式意味着foo只能在...所代表的位置中被访问,外部作用域则不行 (function foo(){...})() 第一个()将函数变成表达式,第二个()执行了这 阅读全文

区分词法作用域(js)与动态作用域(精!)

2017-04-14 12:45 by 心猿意‘码’, 285 阅读, 0 推荐, 收藏, 编辑
摘要:在js学习中,词法作用域是必须要掌握的! 在这里,我将总结一下《你不知道的JS》一书中词法作用域的重点并分享给大家! 首先带来一段代码示例: js词法作用域输出结果:"2"; 动态作用域输出结果:"3" 下面我将对两种作用域的输出结果进行分析: #在对结果分析之前首先我们要了解的是:词法作用域关注函 阅读全文

JS Dom节点操作demo!

2017-04-13 12:54 by 心猿意‘码’, 639 阅读, 0 推荐, 收藏, 编辑
摘要:通过黑马课程的学习,在这里分享一个js Dom中节点操作的小练习 需求:使用js创建一个4*3的表格table. 阅读全文

JS作用域相关知识(#精)

2017-04-12 13:25 by 心猿意‘码’, 181 阅读, 0 推荐, 收藏, 编辑
摘要:在学习《你不知道的JS》一书中,特将作用域相关知识在此分享一下: #说到作用域,就不得不提到LHS查询和RHS查询: 1)如果查询目的是对变量进行赋值,则使用LHS查询 2)如果查询目的是获取变量的值,则使用RHS查询 作用域的查询都会从当前执行的作用域开始查找,如果没有找到所需要的标识符,就会向上 阅读全文

js解析器(重要!)

2017-04-11 12:57 by 心猿意‘码’, 204 阅读, 0 推荐, 收藏, 编辑
摘要:JavaScript有“预解析”的特性,理解预解析是很重要的,不然在实际开发中可能会遇到很多无法解析的问题,甚至导致程序bug的存在。 #js预解析执行过程: 预解析:(全局作用域) 先找到var、function和参数 找到var和function之后,会把var和function提前 解析一行执 阅读全文