`
jusescn
  • 浏览: 124834 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

javascript中的this与call/apply的应用

    博客分类:
  • ajax
阅读更多

call/apply方法作用是将 某对象的某个方法置于某种环境下执行。

 

如下面的例子,在window.onload事件下执行 checkme.init方法,设定方法执行环境为checkme(checkme.init.apply(checkme);) ,在init方法中,给link添加onclick事件时,首先需要 var _self = this;
,然后将checkMe.sayGoodbye方法置于link.onclick上,同时需要设定checkMe.sayGoodbye的执行环境

(_self)。

 

执行结果,点击link时,先提示,而不是跳转。

 

说明:在 对象的事件方法时候,需要先设定事件方法的执行环境(其实就是执行下call/apply方法,返回匿名函数)。

 

 

<script type="text/javascript">
<!--
function checkMe(){
	this.msg = "这是测试";
};
checkMe.prototype={
	sayGoodbye:function(msg) {
	        return confirm(this.msg + msg);
	},
	init:function(){
		var link = document.getElementById('ha');
		var _self = this;
		link.onclick = function(){
			_self.sayGoodbye.call(_self,'abc');
		}
	}
};
var checkme = new checkMe();
	window.onload = function(){
	checkme.init.apply(checkme);
}
//-->
</script>
<a href="javascript:void(0)" id=ha> aaaaa</a>

 

分享到:
评论

相关推荐

    JavaScript中的this/call/apply/bind的使用及区别

    主要介绍了JavaScript中的this/call/apply/bind的使用及区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    JavaScript中的this/call/apply/bind

    了解并熟练掌握`this`、`call()`、`apply()`和`bind()`的用法,对于编写复杂的JavaScript代码,尤其是在涉及对象、事件处理和模块化编程时,至关重要。它们提供了控制函数执行上下文的能力,使我们能够灵活地处理...

    浅谈javascript中的call、apply、bind_.docx

    JavaScript 中的 call、apply、bind 方法是 Function 对象自带的三个方法,这三个方法的主要作用是转变函数中的 this 指向,从而可以达到“接花移木”的效果。下面将对这三个方法进行具体的讲解,并列出几个经典应用...

    关于Javascript中call与apply的进一步探讨

    在JavaScript中,`call`和`apply`是两个非常重要的方法,它们都用于改变函数调用时的上下文(即`this`的值),并且可以灵活地传递参数。本篇文章将深入探讨这两个方法的用法、区别以及实际应用场景。 `call`方法...

    js代码-JavaScript的call/apply/bind函数实现

    在JavaScript中,`call()`, `apply()`, 和 `bind()` 是三个非常重要的函数,它们都与函数调用有关,但各自有不同的应用场景。本文将深入探讨这三个函数的实现原理及其使用方式。 首先,`call()` 函数允许我们调用一...

    浅谈JavaScript中的apply/call/bind和this的使用

    apply/call/bind三者的联系就在于,都可以用来改变函数中 this 指向的值,且第一个参数为要指向的 this 的值,apply的第二个参数(或 bind 与 call 的不定参数)为要传入的参数。这就不得不提及 javascript 中函数的...

    javascript技术难点(三)之this、new、apply和call详解

    JavaScript中的this、new、apply和call是理解JavaScript面向对象编程的关键知识点。首先,我们要知道,this关键字在JavaScript中表示当前上下文的对象,但它并不像Java中的this那样始终指向同一个对象。JavaScript的...

    理解JavaScript的caller callee call apply

    ### 理解JavaScript中的`caller`, `callee`, `call`, `apply` #### Arguments对象:JavaScript函数调用的参数管理器 在JavaScript中,每个函数都有一个隐含参数`arguments`,它允许开发者访问传递给函数的所有参数...

    javascript中apply/call和bind的使用

    apply()和call()在JavaScript中非常有用,尤其在需要改变函数内this指向时。比如,在类的方法中,this往往指向实例本身,但在某些情况下,比如事件处理函数中,this可能指向的是触发事件的元素。这时就可以使用call...

    js中call与apply的用法小结

    在JavaScript中,`call` 和 `apply` 是两种非常重要的函数调用方式,它们都用于改变函数执行时的上下文,即`this`的指向。本文将深入探讨这两种方法的用法及其在实际编程中的应用。 ### 1. `call` 的基本用法 `...

    javascript中call,apply,bind函数用法示例

    在JavaScript中,`call`, `apply`, 和 `bind` 是三个非常重要的函数,它们都用于改变函数内部 `this` 的指向。下面将详细介绍这三个函数的功能、使用方法以及它们之间的区别。 1. **call() 函数** `call()` 函数...

    JavaScript中的this,call,apply使用及区别详解

    在深入探讨JavaScript中this关键字、call和apply方法之前,先来简单回顾一下JavaScript的基本特性。JavaScript是一种基于原型的脚本语言,它运行在浏览器和服务器环境中,常用于开发网页和Web应用程序。其中,this...

    跟我学习javascript的call(),apply(),bind()与回调

    本文将详细解释JavaScript中call(), apply(), 和 bind() 方法的作用、语法以及使用场景,并且会探讨回调函数的使用,帮助理解这些概念在实际编程中的应用。 首先,我们来探讨call() 和 apply() 方法。这两个方法都...

    Js的call与apply1

    JavaScript中的`call`和`apply`是两种非常关键的方法,它们允许我们改变函数内部`this`的指向,同时也为实现模拟继承提供了可能。虽然JavaScript不直接支持类继承,但通过`call`和`apply`,我们可以实现类似的效果。...

    javascript中apply、call和bind的用法区分_.docx

    在JavaScript编程中,`apply`、`call`和`bind`这三个方法被广泛用于改变函数内部`this`的指向,这对于理解和编写复杂的JavaScript代码至关重要。虽然它们的功能相似,但在具体用法上存在一定的差异。 #### 相同之处...

    javascript中apply和call方法的作用及区别说明

    1、call,apply都属于Function.prototype的一个方法,它是JavaScript引擎内在实现的,因为属于Function.prototype,所以每个Function对象实例(就是每个方法)都有call,apply属性。既然作为方法的属性,那它们的使用...

    javascript中call和apply方法浅谈

    在JavaScript中,`call`和`apply`是两种非常重要的函数调用方式,它们都用于改变函数内部`this`的指向,实现函数的动态绑定。这两个方法都是Function对象的原型方法,可以应用到任何函数上。 首先,让我们深入理解`...

    call与apply区别 详细解读.pdf

    call和apply方法是JavaScript中的两个重要方法,它们可以改变函数体内的this对象的值,以扩充函数赖以运行的作用域。它们的作用是一样的,但是参数的传递方式不同。call方法的参数是逐个传递的,而apply方法的参数...

Global site tag (gtag.js) - Google Analytics