javascript中的apply,call,bind详解】的更多相关文章

JavaScript中有一个call和apply方法,其作用基本相同,但也有略微的区别. 一.方法定义 1.call 方法 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 参数 thisObj 可选项.将被用作当前对象的对象. arg1, arg2, , argN 可选项.将被传递方法参数序列. 说明  call 方法可以用来代替另一个对象调用一个方法.call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象.  如果…
一.方法定义 1.call 方法 语法:call(thisObj,arg1, arg2, argN) 参数 thisObj 可选项.将被用作当前对象的对象. arg1, arg2, , argN 可选项.将被传递方法参数序列. 说明  call 方法可以用来代替另一个对象调用一个方法.call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象.  如果没有提供 thisObj 参数,那么 Global 对象被用作thisObj.说明白一点其实就是更改对象的内部指针…
举例 //定义一个函数 function add(x, y) { return x + y; } //用call 来调用 function myAddCall(x, y) { //调用 add 方法 的 call 方法 return add.call(this, x, y); } //apply 来调用 function myAddApply(x, y) { //调用 add 方法 的 applly 方法 return add.apply(this, [x, y]); } console.log…
JavaScript中的鼠标滚轮事件详解/*Firefox注册事件*/ ~~~Firefox: addEventListener('DOMMouseScroll', handler, false)if(document.addEventListener){  document.addEventListener('DOMMouseScroll',scrollFunc,false);} Safari与Chrome属于同一类型,可使用HTML DOM方式添加事件 ~~~otherBrowser: wi…
这次主要说说javascript的类型判断函数typeof和判断构造函数原型instanceof的用法和注意的地方. typeof 先来说说typeof吧.首先需要注意的是,typeof方法返回一个字符串,来表示数据的类型. 语法讲解 我们先看看各个数据类型对应typeof的值: 数据类型 Type Undefined “undefined” Null “object” 布尔值 “boolean” 数值 “number” 字符串 “string” Symbol (ECMAScript 6 新增)…
在javascript里面,this是一个特殊的对象,它不像其他编程语言那样,是存储在实例中的值,直接指向此实例. 而是作为一个单独的指针,在不同的情况之下,指向不同的位置,这也是为什么我们会将它搞混的原因. 下面我们来看下,它在不同情况下分别是怎样一种形态. 情况一.纯粹的函数调用 这是函数的最通常用法,属于全局性调用,因此this就代表全局对象Global. 请看下面这段代码,它的运行结果是1.  代码如下: function test(){ this.x = 1; alert(this.x…
最近看<JavaScript王者归来>中关于实现继承的方法,做了一些小总结: JavaScript中要实现继承,其实就是实现三层含义:1.子类的实例可以共享父类的方法:2.子类可以覆盖父类的方法或者扩展新的方法:3.子类和父类都是子类实例的“类型”. JavaScript中,并不直接从语法上支持继承,但是可以通过模拟的方法来实现继承,以下是关于实现继承的几种方法的总结:1.构造继承法2.原型继承法3.实例继承法4.拷贝继承法 1.构造继承法:在子类中执行父类的构造函数.  1<SCRIP…
作用 声明作用:如声明个变量. 语法 ? 1 var c = 1; 省略var 在javascript中,若省略var关键字而直接赋值,那么这个变量为全局变量,哪怕是在function里定义的. ? 1 2 3 4 5 6 7 8 <script type="text/javascript">   function Define() {     a = 2;   }   function Hello() {     alert(a);   } </script>…
在JavaScript的事件中,存在事件委托(事件代理),那么什么是事件委托呢? 事件委托在生活中的例子: 有三个同事预计会在周一收到快递.为签收快递,有两种办法:一是三个人在公司门口等快递:二是委托给前台MM代为签收.现实当中,我们大都采用委托的方案(公司也不会容忍那么多员工站在门口就为了等快递).前台MM收到快递后,她会判断收件人是谁,然后按照收件人的要求签收,甚至代为付款.这种方案还有一个优势,那就是即使公司里来了新员工(不管多少),前台MM也会在收到寄给新员工的快递后核实并代为签收. 事…
javascript中有5中数据类型(也称为基本数据类型):Undefined.Null.Boolean.Number和String,还有一种复杂数据类型——object,object本质是由一组键值对组成的. typeof操作符:用于检测给定变量的数据类型,对一个值试用typeof操作符可能返回下列某个字符串: ♦ “undefined”——表示值未定义: ♦ “boolean”——表示值是布尔值 :♦ “string”——表示值是字符: ♦ “number”——表示值是数值:  ♦ “obj…