2015-12-17 详解prototype与__proto__ 概念 prototype 是函数(function) 的一个属性, 它指向函数的原型. __proto__ 是对象的内部属性, 它指向构造器的原型, 对象依赖它进行原型链查询. 由上, prototype 只有函数才有, 其他(非函数)对象不具有该属性. 而 __proto__ 是对象的内部属性, 任何对象都拥有该属性. JavaScript more >>
2015-12-16 函数式编程之柯里化与反柯里化 Currying是函数式编程的一个特性,将多个参数的处理转化成单个参数的处理,类似链式调用。 柯里化(Currying)柯里化有3个常见作用:1. 参数复用;2. 提前返回;3. 延迟计算/运行。 通俗的柯里化函数原型如下: JavaScript more >>
2015-12-15 详解JS之Arguments对象 概述Arguments 对象已经不再是函数的属性了, 它是函数内部的本地变量, 包括如下属性: callee — 指向当前函数的引用 length — 真正传递的参数个数 properties-indexes (字符串类型的整数) 属性的值就是函数的参数值(按参数列表从左到右排列)。 properties-indexes内部元素的个数等于arguments.length. properties-indexes 的值和实际传递进来的参数之间是共享的。 JavaScript more >>
2015-12-15 详解JS原型链与继承 摘自JavaScript高级程序设计:继承是OO语言中的一个最为人津津乐道的概念.许多OO语言都支持两种继承方式: 接口继承 和 实现继承 .接口继承只继承方法签名,而实现继承则继承实际的方法.由于js中方法没有签名,在ECMAScript中无法实现接口继承.ECMAScript只支持实现继承,而且其 实现继承 主要是依靠原型链来实现的. JavaScript more >>
2015-12-11 JS布尔值(Boolean)转换规则 语法众所周知, JavaScript有五个基本的值类型:number、string、boolean、null和undefined。除了null和undefined以外,其他三个具有所谓的基本包装对象。可以使用内置构造函数Number()、String()、Boolean()创建包装对象。 boolean是JS的6种数据类型(number,string,object,boolean,null,undefined)之一,有且只有两种值:true和false JavaScript more >>
2015-12-11 String.prototype.replace高阶技能 导读String.prototype.replace 方法虽然其貌不扬, 然混迹于江湖, 经常活跃于各大代码角落, 终于自学所成4招, 谋得一些名气. 下面我们基于它的几招, 实现一个简易的js模板引擎. JavaScript more >>