(一) call方法

语法:presentObj.call(thisObj,arg1,arg2,arg3...)

参数thisObj :将被用作当前对象presentObj的对象。

当thisObj无参数时,this为Global对象。其作用就是改变对象的内部指针this指向的内容。

参数arg1,arg2,...将被传递方法参数序列,即presentObj函数的参数序列,

说明

1,call 方法可以用来代替另一个对象调用一个方法。//有点不好理解,之后补全以下

2,最常见用法,call方法可以将一个函数的对象上下文从初始的上下文改变为由thisObj指定的新对象。例子:

         var func = new function () {this.a = "func"};
var myFunc = function (x) { alert(this.a);
alert(x);
/* body... */
}
myFunc.call(func,"var"); var cat = "the cat";
function say() {
console.log(this);
/* body... */
}
say();//输出:window
say.call(cat);//输出:string -->cat

(二)apply方法

语法:apply(thisObj,[argArray])

定义:应用某一个对象的一个方法,用另一个对象替换当前对象。

说明

如果argArray不是一个有效的数组或者不是arguments对象,那么会导致一个TypeError。

(三)arguments对象//以后,理解后继续保全

arguments对象实际上是当前函数的一个内置属性。

arguments对象的长度是由实参个数而不是形参个数决定的。

形参是函数内部重新开辟内存空间存储的变量,但是其与arguments对象内存空间并不重叠。对于arguments和值都存在的情况下,两者值是同步的,但是,针对其中一个无值的情况下,对于此无值得情形值不会得以同步。

JavaScript中的apply与call与arguments对象的更多相关文章

  1. javascript中call,apply,bind的用法对比分析

    这篇文章主要给大家对比分析了javascript中call,apply,bind三个函数的用法,非常的详细,这里推荐给小伙伴们.   关于call,apply,bind这三个函数的用法,是学习java ...

  2. JavaScript中的apply,call与this的纠缠

    1.apply定义 apply:调用函数,并用指定对象替换函数的 this 值,同时用指定数组替换函数的参数. 语法:apply([thisObj[,argArray]]) thisObj 可选.要用 ...

  3. Javascript中的apply与call详解

    JavaScript中有一个call和apply方法,其作用基本相同,但也有略微的区别. 一.方法定义 1.call 方法 语法:call([thisObj[,arg1[, arg2[, [,.arg ...

  4. JavaScript中的apply和call函数详解(转)

    每个JavaScript函数都会有很多附属的(attached)方法,包括toString().call()以及apply().听起来,你是否会感到奇怪,一个函数可能会有属于它自己的方法,但是记住,J ...

  5. JavaScript中call,apply和prototype

    [TOC] call()方法 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 如果没有提供 thi ...

  6. JavaScript中的apply和call函数详解

    本文是翻译Function.apply and Function.call in JavaScript,希望对大家有所帮助 转自“http://www.jb51.net/article/52416.h ...

  7. javascript中的apply,call,bind详解

    apply.call 在 javascript 中,call 和 apply 都是为了改变某个函数运行时的上下文(context)而存在的,换句话说,就是为了改变函数体内部 this 的指向. Jav ...

  8. 闲聊js中的apply、call和arguments

    JavaScript提供了apply和call两种调用方式来确定函数中的this的指向,在现实编码中,我确实 很少接触到这两个方法.但很无奈,很多面试题都要考这两种方法,我又没怎么用到,所以我们先来 ...

  9. JavaScript中的apply()和call()

    可以将call()和apply()看做是某个对象的方法,通过调用方法的形式来间接调用函数. call()和apply()的第一个实参是要调用函数的母对象,它是调用上下文,在函数体内通过this来获得对 ...

随机推荐

  1. linux ssh 配置 添加用户 另外一种方法

    [root@localhost ~]# vi /etc/pam.d/sshd #%PAM-1.0auth       required     pam_stack.so service=system- ...

  2. COM编程VS实践

    目录 1. 2. 2.1. 2.2. 2.3. 3. 3.1. 3.2. 3.3. 1.COM实践简介 因需要对Office系列进行程序操作,特研究了一下COM相关的编程. 个人体会:COM面向接口编 ...

  3. uboot中gd的定义和使用

    近期在做uboot中nand启动相关的工作,遇到一个问题一直纠结着.如今最终明确了这个问题,想想还有好多兄弟在某个黑暗的角落里或者某台电脑前纠结着呢,所以赶紧写下来以供查阅. uboot versio ...

  4. EasyARM i.mx28学习笔记——开箱试用总结

    0 前言     本月初(2014年8月)购买了周立功的EasyARM开发板,主控为EasyARM i.mx287.出于下面几个理由购买了该开发板.     [1]主要原因,有人约我一起学习一起使用该 ...

  5. sessionID和cookie

    一.cookie机制和session机制的区别***************************************************************************** ...

  6. RHEL 7特性说明(七):编译程序及工具

    转载自:RedHat https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/7.0_Release ...

  7. 面向对象的程序设计(二)理解各种方法和属性typeof、instanceof、constructor、prototype、__proto__、isPrototypeOf、hasOwnProperty

    //理解各种方法和属性typeof.instanceof.constructor.prototype.__proto__.isPrototypeOf.hasOwnProperty. //1.typeo ...

  8. 常见android手机分辨率(xxhdpi,xhdpi)

    手机常见分辨率: 4:3 VGA 640*480 (Video Graphics Array) QVGA 320*240 (Quarter VGA) HVGA 480*320 (Half-size V ...

  9. c语言实例

    #include <stdio.h> int main() { ; ; i=max(j,k); printf("i=%d\n",i); ; } int max(int ...

  10. WIndows 7 与 Debian 7 双系统启动引导

    以前写有一篇文章是Windows XP下引导Linux的(http://www.cnblogs.com/ibgo/archive/2012/05/20/2510736.html),采用的是grub4d ...