文档章节

javascript之call和apply的简单用法

指尖残雪
 指尖残雪
发布于 2016/05/22 23:57
字数 210
阅读 6
收藏 0

call apply  简单的用法:绑定一些函数 用于传递参数 调用 

简单的使用:

function sum(x , y){
<span style="white-space:pre">	</span>return x+y;
}
function call1(num1 , num2){
	return sum.call(this , num1 , num2);
}
function apply1(num1 , num2){
	return sum.apply(this , [num1,num2]);  <pre name="code" class="javascript"><span style="white-space:pre">	</span>//return sum.apply(this , arguments);
}alert(call1(10 , 20));alert(apply1(20,40));

call, apply方法区别是,从第二个参数起, call方法参数将依次传递给借用的方法作参数, 而apply直接将这些参数放到一个数组中再传递, 最后借用方法的参数列表是一样的.

扩充作用域

window.color = 'red';
var obj = {color:'blue'};
var obj2 = {color:'yellow'};
function showColor(){
	alert(this.color);
}
showColor.call(window);
showColor.call(obj);
根据传入的对象不同this指代不同,颜色也不一样。

如果不使用call方法,需要obj.showColor=showColor;       obj.showColor();

本文转载自:http://blog.csdn.net/bq1073100909/article/details/48637423

共有 人打赏支持
指尖残雪
粉丝 7
博文 73
码字总数 0
作品 0
上海
后端工程师
JavaScript中call()与apply()有什么区别?

今天读《JavaScript权威指南》时发现其中有段代码用到了apply方法用于递归实现数组的展开。可是我不懂这个函数的用法,因此查了一下,将资料整理如下。 Javascript的每个Function对象中有一个...

小微
2012/08/27
0
1
JavaScript中call()与apply()区别

我有时发现有道云笔记其中有段代码用到了apply方法用于递归实现数组的展开。可是我不懂这个函数的用法,因此查了一下,将资料整理如下。 Javascript的每个Function对象中有一个apply方法: ...

唐俊-
2013/12/30
0
0
javascript“普通”函数中的this,以及call,apply用法

从this开始说起 首先看下面这段代码, 定义一个函数,弹下this, <script type="text/javascript"> function toolmao(){ alert(this); } toolmao(); </script> 使用chrome测试以上代码,可以看......

街边
2013/12/18
0
0
[译] JavaScript 开发者经常忽略或误用的七个基础知识点

JavaScript 本身可以算是一门简单的语言,但我们也不断用智慧和灵活的模式来改进它。昨天我们将这些模式应用到了 JavaScript 框架中,今天这些框架又驱动了我们的 Web 应用程序。很多新手开发...

_大雁
2013/09/08
0
0
JavaScript 开发者经常忽略或误用的七个基础知识点

 JavaScript 本身可以算是一门简单的语言,但我们也不断用智慧和灵活的模式来改进它。昨天我们将这些模式应用到了 JavaScript 框架中,今天这些框架又驱动了我们的 Web 应用程序。很多新手开...

木木情深
2013/10/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

(三)Nginx配置·续

概述 前文写了关于Nginx环境配置,但是还没有完,接下来将会继续讲三个相关的配置 主要是以下三个 1.Nginx访问日志 2.Nginx日志切割 3.静态文件不记录日志和过期时间 Nginx访问日志 1.先看看...

杉下
今天
1
0
jquery创建类似于java的map

var map = {}; // Map map = new HashMap(); map[key] = value; // map.put(key, value); var value = map[key]; // Object value = map.get(key); var has = key in map; // boolean has = ......

SuperDabai
今天
0
0
java大数据转换16进制转10进制

public static void main(String[] args) {String hex = "0xdbf3accc683297cf0000";BigInteger amount = new BigInteger(hex.substring(2), 16);System.out.println(amount);......

任梁荣
昨天
2
0
OSChina 周六乱弹 —— 目测我们程序员丁克的几率不大

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @真Skr小机灵鬼儿:8.13分享Jocelyn Pook/Russian Red的单曲《Loving Strangers》 《Loving Strangers》- Jocelyn Pook/Russian Red 手机党少...

小小编辑
昨天
15
4
TypeScript基础入门 - 函数 - 剩余参数

转载 TypeScript基础入门 - 函数 - 剩余参数 项目实践仓库 https://github.com/durban89/typescript_demo.gittag: 1.2.1 为了保证后面的学习演示需要安装下ts-node,这样后面的每个操作都能...

durban
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部