javascript中的apply,JavaScript中的数据类型

在JS中,call()方法和apply()方法到底该怎么应用?

apply与call是更改对象的内部指针,即改变对象的this指向的内容;call与apply的第一个参数都是要传入给当前对象的对象,及函数内部的this,后面的参数都是传递给当前对象的参数。

obj.call(thisObj, arg1, arg2, …);obj.apply(thisObj, [arg1, arg2, …]);两者作用一致,都是把obj(即this)绑定到thisObj,这时候thisObj具备了obj的属性和方法。或者说thisObj『继承』了obj的属性和方法。

JavaScript中的每一个function对象都会有call和apply方法 定义:apply:调用一个对象的一个方法,用另一个对象替换当前对象。例如:B.apply(A, arguments);即A对象应用B对象的方法。

在JS中如何使用call、apply

github地址call、apply和bind的原生实现call与apply简单介绍:call和apply方法都是使用一个指定的this值和对应的参数前提下调用某个函数或方法。区别则在于call是通过传多个参数的方式,而apply则是传入一个数组。

\x0d\x0a先来看看JS手册中对call的解释:\x0d\x0acall 方法\x0d\x0a 调用一个对象的一个方法,以另一个对象替换当前对象。

最常借用的方法是 Array.prototype.slice。借用方法之所以可行,是因为 call 和 apply 方法允许在不同上下文中调用函数,这也是重用已有功能而不必继承其它对象的好方法。

apply与call是更改对象的内部指针,即改变对象的this指向的内容;call与apply的第一个参数都是要传入给当前对象的对象,及函数内部的this,后面的参数都是传递给当前对象的参数。

javascript中的apply,JavaScript中的数据类型

Javascript中call和apply的区别与详解

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

2、先说区别call和apply的参数不同,前者是call(a,b,c,…)吧所有的参数都传递。后者apply只传递两个参数apply(a,b),其中b是一个数组。这是两者最大的不同,在于后者传递的是一个数组。

3、apply,call的用途相同,都是在特定的作用域中调用函数。接收参数方面不同,apply()接收两个参数,一个是函数运行的作用域(this),另一个是参数数组。

4、call(), apply(),bind()都属于Function.prototype的一个内置方法,它是JavaScript引擎内在实现的,因为属于Function.prototype,主要就是围绕这this对象的改变操作。下面已代码逐一展示各自的用法。

5、使用call和apply方法,主要是为了修改函数运行时的this指针。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年5月21日 02:57:12
下一篇 2024年5月21日 03:05:29

相关推荐

  • javascript如何调试,js 调试

    网页显示javascript错误..怎么解决 网页显示javascript错误的解决办法:首先打开浏览器,选择Internet选项;然后切换到安全标签页中,单击自定义级别进入;接着选择“启用”项,并点击“是”;最后退出设置即可。请多刷新几次或者把浏览器关掉再打开。 检查JavaScript代码是否有语法或逻辑错误,并进行修复。更新您的浏览器版本或更换为兼容当…

    2024年5月23日
    4400
  • 包含javascript画圆的词条

    javascript画圆参数问题 1、第三个参数是圆的半径。第四个参数代表圆周起始位置。0 PI就是起始位置。沿顺时针路线,分别是0.5 PI(正下方),1 PI和5 PI(正上方),为画饼图提供了扇形范围的依据。 2、.box{width:200px;height:200px;border-radius:50%;overflow:hidden;} 试试这个…

    2024年5月23日
    4600
  • javascript常量,js中如何定义常量

    请问while(*p!=\0)这是什么意思啊 1、p明显是个指针,while(p)就是说指针如果有指向,就执行while下的语句,如果是0,也就是null,指针没有指向任何地址,也就是空指针。*p=head-next 这个可能是是树之类的数据结构。 2、\0就是0x00,代表字符串至此结束,退出循环。 3、while( *p ) 就是判断 (*p) 的值只要…

    2024年5月23日
    4300
  • 首字母大写javascript,首字母大写英语怎么说

    javascript怎么使用字符串函数进行首字母大写 js中转换字符串小写字母为大写字母的方法有:使用toUpperCase()方法、使用toLocaleUpperCase()方法。使用toUpperCase() 方法作用:把指定字符串中的小写字母全部转换为大写字母,最后返回一个新的字符串。 截取第一个位置变成大写,然后从第一个位置截取所有。 toLower…

    2024年5月23日
    4800
  • javascript吧,javaScript基础心得体会

    JavaScript真的容易学吗? 1、JavaScript是一种轻量级的编程语言,是一门非常容易入门的语言。JavaScript语法比较简单,应用面也会非常的广,有比较好的就业市场。 2、JavaScript面向对象、函数进阶、递归及其应用、正则表达式、ES6等等JS的高级课程内容。高级课程内容相对难度会有所提升,但是只要能理解了相应的编程思维,整体掌握难…

    2024年5月23日
    3900
  • 怎样学习javascript,怎样学好javascript

    javascript基础入门 1、JavaScript最初是由网景公司的Brendan Eich在1995年创建的,最初被称为LiveScript。后来,它被重命名为JavaScript,以更好地与Sun Microsystems的Java语言相匹配。 2、如果你想快速学会 JavaScript,你可能要掌握“跳章学习”的方法。左边可以看到本教程整个结构树。…

    2024年5月23日
    3600
  • javascript判断函数存在,js判断是否有值

    请教一个JavaScript函数判断问题 1、) typeof 运算符 typeof 是一元运算符,返回结果是一个说明运算数类型的字符串。如:number,string,boolean,object,function,undefined(可用于判断变量是否存在)。 2、给函数做一个返回值,然后判断返回值就行了。 3、说明:isNaN() 函数可用于判断其参数…

    2024年5月22日
    4000
  • ipad可以编写javascript,iPad可以编写程序吗?

    苹果APP开发需要掌握哪种语言? 1、首先,要开发苹果app,必须要掌握苹果app开发工具,那就是Objective-c和c语言。在开发苹果app软件的时候,需要走以下流程。 2、Objective-C语言 Objective-C是C语言衍生出来的,继承了C语言的特性,属于面向对象的语言。Objective-C这是适用于IOS智能操作系统的APP开发语言,是…

    2024年5月22日
    4900
  • javascript验证用户名,js验证用户名与数据库中不能重复

    web中JavaScript的用户验证怎么写? 1、首先不管你是在EXCEL里检测用户存在还是在数据库里检测 始终需要ASP和JAVASCRIPT吧 假设你已经知道如何利用ASP判断EXECL或数据库是否有这个用户 ajax.asp //这个页面用于获取URL来的用户名做判断,判断数据库或EXCEL是否有用户。 2、临时按照你的要求写了一个,有什么问题可以再…

    2024年5月22日
    3900
  • c语言改成数据结构语言,c语言改数据类型

    问一个用C语言实现数据结构的程序(求大神帮助)图在下面, / 2 约瑟夫环问题(Josephus)3 用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序。 substr函数就是在s串中从pos位置开始取len长度的字串,然后赋给字符串t。 C语言编写的数据结构 1、在C语言中,结构体(struct)指的是一种数据结构,是…

    2024年5月21日
    4400

发表回复

登录后才能评论



关注微信