JavaScript Function.call() 函数详解
语法
functionObject.call( [ thisObj [, arg1 [, arg2 [, args...]]]] )
call()函数用于调用当前函数functionObject,并可同时使用指定对象thisObj作为本次执行时functionObject函数内部的this指针引用。
该函数属于Function对象,所有主流浏览器均支持该函数。
参数
| 参数 | 描述 |
|---|---|
| thisObj | 可选/Object类型指定执行functionObject函数时,函数内部this指针引用的对象。 |
| arg1 | 可选/任意类型调用functionObject函数时传入的第1个参数。 |
| arg2 | 可选/任意类型调用functionObject函数时传入的第2个参数。 |
| args | 可选/任意类型调用functionObject函数时传入的更多参数,可以有多个。 |
如果为该函数所属的functionObject对象提供了传入参数,则必须提供thisObj参数。
备注:该函数与Function对象的apply()函数作用相同,只不过call()函数是将Function对象的参数一个个分别传入,apply()函数是将Function对象的参数以一个数组或arguments对象的形式整体传入。
返回值
call()方法的返回值为任意类型,其返回值取决于当前functionObject对象的返回值。
示例&说明
name = "张三";
age = 18; function test(){
document.writeln(this);
document.writeln(this.name);
document.writeln(this.age);
}; // 全局函数内部的this默认为全局对象window
test(); // [object Window] 张三 18 var obj = {name: "李四", age: 20};
// 更改内部的this指针引用对象为obj
test.call(obj); // [object Object] 李四 20 function foo(a, b){
document.writeln(this.name);
document.writeln(a);
document.writeln(b);
}
// 改变this引用为obj,同时传递两个参数
foo.call(obj, 12, true); // 李四 12 true function bar(a, b){
var o = {name: "王五"};
// 调用foo()函数,并改变其this为对象o,传入参数a,b作为其参数
foo.call(o, a, b);
}
bar("CodePlayer", "www.365mini.com"); // 王五 CodePlayer www.365mini.com
运行代码
JavaScript Function.call() 函数详解的更多相关文章
- JavaScript Function.apply() 函数详解
apply()函数用于调用当前函数functionObject,并可同时使用指定对象thisObj作为本次函数执行时函数内部的this指针引用. 该函数属于Function对象,所有主流浏览器均支持该 ...
- JavaScript正则表达式详解(二)JavaScript中正则表达式函数详解
二.JavaScript中正则表达式函数详解(exec, test, match, replace, search, split) 1.使用正则表达式的方法去匹配查找字符串 1.1. exec方法详解 ...
- Javascript二(函数详解)
一.函数 Javascript是一门基于对象的脚本语言,代码复用的单位是函数,但它的函数比结构化程序设计语言的函数功能更丰富.JavaScript语言中的函数是"一等公 ...
- (function($){...})(jQuery) 函数详解
function(arg){...} 这是一个匿名函数,参数是arg. 而调用匿名函数时,是在函数后面写上括号和实参的,由于操作符的优先级,函数本身也需要用括号,即: function(arg){.. ...
- JavaScript Function.arguments 属性详解
语法 [functionObject.]arguments arguments属性是正在执行的函数的内置属性,返回该函数的arguments对象.arguments对象包含了调用该函数时所传入的实际参 ...
- javascript Math.pow 函数 详解
语法 Math.pow(x,y) 定义和用法 pow() 方法可返回 x 的 y 次幂的值. 处理简单数学问题 6的4次方等于1296,记作:64=1296; 求值: Math.pow(6,4)=12 ...
- javascript Math.pow 函数 详解 【附】年均增长率计算
语法 Math.pow(x,y) 定义和用法 pow() 方法可返回 x 的 y 次幂的值. 处理简单数学问题 6的4次方等于1296,记作:64=1296; 求值: Math.pow(6,4)=12 ...
- javascript 函数详解2 -- arguments
今天我们接着上篇文章来继续javascript函数这个主题.今天要讲的是函数对像中一个很重要的属性--arguments. 相关阅读: javascript 函数详解1 -- 概述 javascrip ...
- [转]javascript console 函数详解 js开发调试的利器
javascript console 函数详解 js开发调试的利器 分步阅读 Console 是用于显示 JS和 DOM 对象信息的单独窗口.并且向 JS 中注入1个 console 对象,使用该 ...
随机推荐
- LinkedHashMap 源码解析
概述: LinkedHashMap实现Map继承HashMap,基于Map的哈希表和链该列表实现,具有可预知的迭代顺序. LinedHashMap维护着一个运行于所有条目的双重链表结构,该链表定义了迭 ...
- 好用的前端页面性能检测工具—sitespeed.io
引言 最近在做HTTP2技术相关调研,想确认一下HTTP2在什么情境下性能会比HTTP1.x有显著提升,当我把http2的本地环境(nginx+PHP)部署完成后进行相关测试时,我遇到了以下问题: ( ...
- Hadoop 2:Mapper和Reduce
Hadoop 2:Mapper和Reduce Understanding and Practicing Hadoop Mapper and Reduce 1 Mapper过程 Hadoop将输入数据划 ...
- 【POJ】2115 C Looooops(扩欧)
Description A Compiler Mystery: We are given a C-language style for loop of type for (variable = A; ...
- Saturday SQL Server 2016 初体验
最近在开发一个有关数据库的项目,我想用SQLite,但是SQLite的设计器不是特别友好,然后据说VS有一个集成的SQLite设计器,但是我用的VS2017亲测并没有,用户体验不佳,所以安装一个SQL ...
- ASP.NET Core 2.0 支付宝当面付之扫码支付
前言 自从微软更换了CEO以后,微软的战略方向有了相当大的变化,不再是那么封闭,开源了许多东西,拥抱开源社区,.NET实现跨平台,收购xamarin并免费提供给开发者等等.我本人是很喜欢.net的,并 ...
- 【Learning】多项式乘法与快速傅里叶变换(FFT)
简介: FFT主要运用于快速卷积,其中一个例子就是如何将两个多项式相乘,或者高精度乘高精度的操作. 显然暴搞是$O(n^2)$的复杂度,然而FFT可以将其将为$O(n lg n)$. 这看起来十分玄学 ...
- ThinkJS框架入门详细教程(二)新手入门项目
一.准备工作 参考前一篇:ThinkJS框架入门详细教程(一)开发环境 安装thinkJS命令 npm install -g think-cli 监测是否安装成功 thinkjs -v 二.创建项目 ...
- SqlServer批量备份多个数据库且删除3天前的备份
/******************************************* * 批量备份数据库且删除3天前的备份 ************************************ ...
- 【Spring】浅谈spring推荐构造器注入
一.前言 Spring框架对Java开发的重要性不言而喻,其核心特性就是IOC(Inversion of Control, 控制反转)和AOP,平时使用最多的就是其中的IOC,我们通过将组件交由S ...