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.
在这里,我们没有涉及到加入参数的传递,是方便大家的理解,需要加入参数传递,大家可以敲代码试一试,看看效果怎么样!
我们就先讲这两个例子吧,之后再进行深入学习。
-
怎样打开隐藏文件
由于计算机具有高运算速度和精度以及逻辑判断能力,因此出现了计算力学、计算物理、计算化学、生物控制论等新的学科。以下是小编整理的打开隐藏文件的方法,希望大家认真阅读!随便打开一个文件夹,比如打开我的文档点击上面工具栏中的.工具,选择下面的文件夹选项在弹...
-
新网站的SEO优化操作流程
SEO(SearchEngineOptimization)就是搜索引擎优化,是一种利用搜索引擎的搜索规则来提高目的网站在有关搜索引擎内的排名的方式。下面是本站小编为大家搜索整理的关于新网站的SEO优化操作流程,供参考阅读,希望对您有所帮助!搜索引擎优化是一种利用搜索引擎的搜索规...
-
国产电影制作的特效与国外的差距在哪里
中国和国外起跑线是不一样的,纵观发展史,虽然中国不停地努力缩小差距,但是技术上仍然落后美国一大截。下面是小编整理的国产电影制作的特效与国外的差距在哪里的相关内容,仅供参考,欢迎大家阅读。迪士尼的《奇幻森林》已经上映有一段时间。从万牛奔腾到随风而动的细...
-
插图中计算机技术的应用
下面是本站小编搜索整理的关于插图中计算机技术的应用,欢迎参考阅读,希望对大家有所帮助!想了解更多相关信息请持续关注我们应届毕业生培训网!在新时代的发展下,社会已经把技术和艺术完美的融合在一起,在许多方面,两者的结合已经让人无法想象了。计算机技术与艺术的...