Javascript的call、apply的理解
call 方法在使用一个指定的this值和若干个指定的参数值的前提下调用某个函数或方法.
注意:该函数的语法与 apply() 方法的语法几乎完全相同,唯一的'区别在于,apply()方法接受的是一个参数数组,而 call()方法接受的是一系列参数列表。
了解完这两个方法的概念后,我们来一步一步理解他们的应用.
改变方法内this的指向
我们先来看下面这个例子
var name = "编程的人";var age = 1;var person = {name:"公众号:bianchengderen",age:20}function say(){("我叫:"++",年龄:"+)}say();// 我叫: 编程的人,年龄: (person);//年龄:20
这两种调用执行的方式不一样,他们的结果也不一样,不一样在于say方法里面的this指向了不同的对象,第一次执行指向的是window,而我们以call方式执行,将say方法里面的this指向了person对象.
这是不是有点冒充别人的感觉.那我们这样有什么作用了?当然自己可以多多想想,到底能做什么! 我们继续往下面走.
实现继承机制继承,这是高级面向对象的一种特性,用call我们可以将JAVASCRIPT有这种特点.
在看下面这个例子之前,必须好好理解上面的例子.
function Person(){ = "编程的人"; = 20;}function Student(){(this);ol = "地球";}var student = new Student();//下面打印出来: 编程的人,20,地球(,,ol);
在这个例子里,Student函数继承了Person的name和age属性,就是通过(this)来实现,理解上面的例子后,应该是不难理解的.所以Student即拥有了Person的特点,又有自己的个性,比如这个ol.
在这里,我们没有涉及到加入参数的传递,是方便大家的理解,需要加入参数传递,大家可以敲代码试一试,看看效果怎么样!
我们就先讲这两个例子吧,之后再进行深入学习。
-
如何理解Javascript的caller,callee,call,apply区别
在提到上述的概念之前,首先想说说javascript中函数的隐含参数:argumentsarguments该对象代表正在执行的函数和调用它的函数的参数。[function.]arguments[n]参数function:选项。当前正在执行的Function对象的名字。n:选项。要传递给Function对象的从0开始的参数值...
-
JavaScript经典效果集锦
些很实用且必用的小脚本代码:脚本1:进入主页以后自动播放声音脚本2:进入主页后自动最大话,省的去在自己单击了To(0,0)zeTo(lWidth,lHeight)脚本3:显示现在时间的脚本enow脚本4:显示最后修改时间的.脚本e(Modified)脚本5:设为首页,加为收藏,加入频道,启动outlook...
-
JavaScript弹窗基础教程
confirm()意既确认框confirm...
-
JavaScript中的style.cssText使用教程分解
很多人用过r、lay等直接设置元素的.样式属性,但是ext用过的人就不多了。cssText本质是什么?cssText的本质就是设置HTML元素的style属性值。cssText怎么用?复制代码代码如下:lementById("d1")ext="color:red;font-size:13px;";看了这个示例后,相信不说,也知道ext是什...
相关文章
- 如何理解Javascript的caller,callee,call,apply区别
- 如何理解Javascript的caller,callee,call,apply区别
- 如何理解Javascript的caller,callee,call,apply区别
- 如何理解Javascript的caller,callee,call,apply区别
- 如何理解Javascript的caller,callee,call,apply区别
- 如何理解Javascript的caller,callee,call,apply区别
- 如何理解Javascript的caller,callee,call,apply区别
- 如何理解Javascript的caller,callee,call,apply区别
- 如何理解Javascript的caller,callee,call,apply区别
- 如何理解Javascript的caller,callee,call,apply区别