/*在javascript中,函数总是在一个特殊的上下文执行(称为执行上下文),如果你将一个对象的函数赋值给另外一个变量的话,这个函数的执行上下文就变为这个变量的上下文了.下面的一个例子能很好的说明这个问题 代码如下:*/ window.name = "the window object" function scopeTest() { return this.name; } // calling the function in global scope: scopeTest() //
Bind函数 Bind函数在函数式编程中是如此重要,以至于函数式编程语言会为bind函数设计语法糖.另一个角度Bind函数非常难以理解,几乎很少有人能通过简单的描述说明白bind函数的由来及原理. 这篇文章试图通过"人话"来描述bind函数,并通过浅显的实例为零函数式编程语言的开发者揭秘bind函数的作用及用法. public string GetSomething(int id) { var x = GetFirstThing(id); if (x != null) { var y
函数js原有的: 属性:arguments[].caller(调用该函数的引用,注意与callee分别开,callee指的是调用函数本身经常在递归中出现).length(形参个数).prototype 方法:apply().call().bind().toString() 函数的扩展: 函数参数的默认值 在es6之前不能给函数的参数给定默认值,一般会采用这样的方法: function a(x,y){ if(typeof y === 'undefined'){ y = 'world'; } con