`

Javascript 关于apply和call的区别小例子

阅读更多
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="lidongbo">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<script language="JavaScript">
<!--


function Test(t){
	this.value = t;
};

var testA = new Test('testA');
var testB = new Test('testB');

Test.prototype.getValue = function(){
	arguments.toString = function(){
		var result = '';
		for(var i = 0 ;i < this.length -1 ; i++){
			result+= this[i] + ","
		}
		result+= this[this.length -1];
		return result;
	};

	var info = '';

	if(arguments && arguments.length>0){
		info = '\n\n并且收到参数:'+arguments.toString()  +"(参数长度:"+arguments.length+")";
	}
	return this.value + info;
};


var obj = {
	value:'新对象里的新值!'
};

console.log(testA.getValue());

var p = [1,2,3,4,5];

console.log(Test.prototype.getValue.apply(obj,p));
console.log(Test.prototype.getValue.call(obj,p));

//-->
</script>
<body>

</body>
</html>

分享到:
评论

相关推荐

    javascript中apply、call和bind的使用区别

    在JS中,这三者都是用来改变函数的this对象的指向的,他们有什么样的...那么他们的区别在哪里的,先看一个例子。 var xw = { name : "小王", gender : "男", age : 24, say : function() { alert(this.name +

    Javascript 中的 call 和 apply使用介绍

    简单的说就是改变函数执行的上下文,... 这两个方法通常被用来类的继承和回调函数: 作用一、类的继承: 先来看这个例子: 代码如下: function Person(name,age){ this.name = name; this.age=age; this.alertName = f

    js中apply与call简单用法详解

    call和apply是为了动态改变this而出现的,当一个object没有某个方法,但是其他的有,我们可以借助call或apply用其它对象的方法来操作。 call, apply都属于Function.prototype的一个方法,它是JavaScript引擎内在实现...

    JavaScript函数Call、Apply原理实例解析

    这篇文章主要介绍了JavaScript函数Call、Apply原理实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一、方法重用 使用 call() 方法,您可以编写能够在...

    javascript call和apply方法

    例子如下: 代码如下:[removed] /** *动物 */ function Animal(){ this.name=’Amimal’; this.showName=function(){ alert&#40;this.name&#41;; }; } /* *猫 */ function Cat(){ this.name=’cat’; } var animal=...

    JavaScript 学习笔记(九)call和apply方法

    call和apply方法 call方法可改变上下文this指针,类似的方法还有apply,主要用在js对象各方法互相调用的时候,使当前this实例指针保持一致,或在特殊情况下需要改变this指针。 obj1.method1.call(obj2,argument1,...

    理解Javascript的call、apply

    注意:该函数的语法与 apply() 方法的语法几乎完全相同,唯一的区别在于,apply()方法接受的是一个参数数组,而 call()方法接受的是一系列参数列表。 了解完这两个方法的概念后,我们来一步一步理解他们的应用. 改变...

    Javascript – 全面理解 caller,callee,call,apply

    Javascript – 全面理解 caller,callee,call,apply Author: BlueDestiny, never-online From: http://www.never-online.net, Blog.csdn.net/BlueDestiny 1、caller JScript参考中说明为:返回一个对函数的...

    有关JavaScript中call()和apply() 的一些理解

    call()方法和apply()方法,在上层应用中用的不是很多,但在底层写JS框架的时候却常常看到。然后度娘谷哥一番,也发现好多达人写出了自己的理解和笔记,但始终还是云里雾里,于是去W3C学习了下 在W3C网上研究这两个...

    JS中call()和apply()的功能及用法实例分析

    本文实例讲述了JS中call()和apply()的功能及用法。分享给大家供大家参考,具体如下: 1.call()和apply()的作用 首先引出问题:用call()和apply()的目的是什么? 来看个例子,在javascript OOP中,我们经常会这样...

    Javascript数组操作高级心得整理

     JavaScript 对大小写敏感 15  空格 15  换行 15 第二章JavaScript对象 1. JavaScript对象简介 15 (1) JavaScript对象也是有属性和方法的 15  对象属性的使用 15  对象方法的使用 15 (2) 对象的定义与实例...

    基于JavaScript实现继承机制之调用call()与apply()的方法详解

    call() 方法call() 方法是与经典的对象冒充方法最相似的方法。它的第一个参数用作 this 的对象。其他参数都直接传递给函数自身。例如: 代码如下:function sayHello(sPrefix,sSuffix) { alert&#40;this.name + ”...

    javascript中this的四种用法

    通过 apply 或 call 或 bind 来改变 this 的所指。 1) 函数有所属对象时:指向所属对象 函数有所属对象时,通常通过 . 表达式调用,这时 this 自然指向所属对象。比如下面的例子: var myObject = {value: 100}; my...

    JavaScript类和继承 this属性使用说明

    我们还可以使用apply和call两个全局方法来改变函数中this的具体指向。 先看一个在全局作用范围内使用this的例子: 代码如下: [removed] console.log(this === window); // true console.log(window.alert === this....

    JavaScript中几个重要的属性(this、constructor、prototype)介绍

    我们还可以使用apply和call两个全局方法来改变函数中this的具体指向。 先看一个在全局作用范围内使用this的例子: 代码如下: [removed] console.log( === window); console.log(window.alert === .alert); console....

    JavaScript 继承详解(二)

    我们还可以使用apply和call两个全局方法来改变函数中this的具体指向。 先看一个在全局作用范围内使用this的例子: [removed] console.log(this === window); // true console.log(window.alert === this.alert);...

    complex_js_with_simple_examples:复杂JavaScript的实际示例并不多

    :cyclone: 解析基本但不了解的prototype对象 :diya_lamp: 是javaScript中最困难的同时也是最简单的主题: this上下文和bind , call , apply方法 :curly_loop: -简单来说就是电路 :train: -承诺,它们是什么,如何...

    javascript下动态this与动态绑定实例代码

    不过,函数声明后,其实并没有绑定到任何对象,因此我们可以用call apply这些方法设置调用者。 一个简单的例子: [script] [removed] window.name = “window”; var run = function() { alert&#40;“My name is ” ...

    js老生常谈之this,constructor ,prototype全面解析

    前言 javascript中的this,constructor ... 我们还可以使用apply和call两个全局方法来改变函数中this的具体指向。 先看一个在全局作用范围内使用this的例子: console.log(this === window); // true console.log(wind

    AsynCallJS:JavaScript 对方法的最简单的异步运行支持。 它让你所有的方法神奇地支持异步执行,没有大惊小怪

    异步调用JS JavaScript 对方法的最简单的异步运行支持。 这很容易 /* AsynCallJS 1.3.5 - JavaScript's Easiest Async-Run Support For Methods. ... ### 先举个例子 function sqr ( n ) { return Math . pow ( n

Global site tag (gtag.js) - Google Analytics