JS函数的4种调用方式

这篇具有很好参考价值的文章主要介绍了JS函数的4种调用方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

函数可以声明定义,也可以是一个表达式,

函数使用关键字function定义

函数被定义时,函数内部的代码不会执行

函数被调用时,函数内部的代码才会执行

函数有四种调用方式,每种方式的不同在于this的初始化。

(this是保留关键字,this指函数执行时的当前对象,this的值无法改变)

1、作为一个函数调用:直接调用函数

function abc(x,y) {
    return x *y;
};
    
console.log(abc(5,6));
console.log(abc(6,8));
JS函数的4种调用方式

2、作为方法来调用函数:将函数定义为对象的方法

(last方法是一个函数,obj是函数的所有者)

var obj = {
   name:"yoe",
    age:22,
   last:function () {
        returnthis.name + " " + this.age;
    },
};
 
console.log(obj.last());
JS函数的4种调用方式
JS函数的4种调用方式
//修改last方法,返回this值
//函数作为方法调用,使this的值成为对象本身
var obj = {
   name:"yoe",
    age:22,
   last:function () {
        returnthis;
    },
};
 
console.log(obj.last());

3、使用构造函数调用函数:(函数调用前使用new关键字)

//构造器调用会创建新对象。新对象会从构造器中继承属性即方法
//函数构造器
function dee(a,b) {
    //构造器中的this没有值
    this.one =a;
    this.two =b;
}
//创建新的对象
//this的值在调用对象时创建
var obj = new dee("ele","vent");
 
console.log(obj.two);
JS函数的4种调用方式

4、作为函数方法调用函数:(call和apply是预定义的函数)

call() 方法可以接收多个参数列表,

apply() 方法只能接收数组形式的参数,数组元素将作为参数列表传递给被调用的函数

两个方法的第一个参数必须是对象本身(也可以是null)

当第一个参数为null时,得到的是当前运行环境的全局变量(window)

//call()方法 函数名.call()
function def1(x,y) {
    return x *y;
};
console.log(def1.call(null,3,4));
    
 //apply()方法 函数名.apply()
function def2(x,y) {
    return x +y;
};
console.log(def2.apply(null,[4,6]));
JS函数的4种调用方式

apply、call、bind三者的区别:

相同:

1.都是用来改变函数的this对象的指向

2.第一个参数都是this要指向的对象

3.都可以利用后续参数传参

区别:

1.apply、call、bind的第一个参数都是this要指向的对象,但apply只有两个参数,第二个参数为一个数组,需要传输的参数值全部放到数组中;call和bind的参数是用逗号隔开。

2.apply和call返回的是一个值,bind返回的是一个函数

3.bind是返回绑定this之后的函数,便于稍后调用,apply和call是立即调用文章来源地址https://www.toymoban.com/news/detail-452448.html

到了这里,关于JS函数的4种调用方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用C语言自定义头文件,声明的变量或者函数用extern和不同extern修饰有什么区别?

    在C语言中,当在头文件中声明变量或函数时,使用 extern 和不使用 extern 修饰有以下区别: 使用 extern 修饰变量: extern 修饰的变量只是声明,不分配存储空间。它表示该变量的定义在其他源文件中,需要在使用该变量的源文件中进行定义和分配存储空间。 不使用 extern 修饰的

    2024年02月10日
    浏览(49)
  • Js:变量类型,代码块,++前后区别,函数声明/表达式,debuger调试,元素/event/window大小和位置

    语法: 注意: 只有在js文件才可以自动补全 @param 。vue文件只会显示 /** */ 上述注释中 @description 和 @return 是自定义的代码片段,快捷键 jsfn 作用: 在vue文件引入方法后,可以查看方法的注释说明,规范代码。 方法中变量快捷打印, 第一步选中方法的 变量 进行 复制 第二步

    2023年04月08日
    浏览(36)
  • Shell 函数详解(函数定义、函数调用)

    Shell 函数的本质是一段可以重复使用的脚本代码,这段代码被提前编写好了,放在了指定的位置,使用时直接调取即可。 Shell 中的函数和C++、Java、Python、C# 等其它编程语言中的函数类似,只是在语法细节有所差别。 Shell 函数定义的语法格式如下:  对各个部分的说明: f

    2024年02月09日
    浏览(58)
  • 54-函数的3种定义,函数的4种调用:函数模式调用,方法模式调用,构造函数模式调用,apply call bind调用

    一.函数的3种定义  1.函数的声明定义:具有声明提升 2.函数的表达式定义 3.构造函数定义 var 变量 = new F unction(\\\"形参1\\\",\\\"形参2\\\",\\\"形参3\\\",\\\"方法体\\\"); 二.函数的4种调用 1普通模式调用 2. 内联模型 函数模式调用, this 指向 window  

    2024年01月25日
    浏览(48)
  • 0062__对象指针为NULL,为什么还是可以调用成员函数

    对象指针为NULL,为什么还是可以调用成员函数_空对象指针为什么能调用函数_一颗石头崽儿的博客-CSDN博客

    2024年02月10日
    浏览(46)
  • Python 调用自定义函数

    新手入坑。 通常我们需要把公共函数提出来,作为公共资源调用。也避免了代码的重复书写。 比如我们在项目内创建我们的py脚本路径如下: 在公共方法中定义方法: 在其他脚本中调用如下:

    2024年02月14日
    浏览(60)
  • python-自定义函数(定义调用、默认参数、返回值)

    本篇文章讲解了python中自定义函数的一些知识点,包括了函数的定义和调用,默认参数,函数返回,其中也添加了比较高级的用法,能适应任何场合 函数是什么:函数是一段可执行的代码块,用于执行特定的任务或完成特定的操作。它由函数名、参数(可选)和函数体组成。

    2024年02月09日
    浏览(43)
  • Python 函数的定义与调用

    ✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的博客 🍊个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 🥭本文内容:Python 函数的定义与调用 Python 中使用 def 语句创建函数,其一般的格

    2024年01月25日
    浏览(46)
  • Lua调用函数的方式汇总

    在Lua脚本语言中,调用函数是一种基本的操作,它允许代码执行在函数定义中封装的操作。Lua 提供了几种灵活的方式来调用函数,以适应不同的场景和需求。以下是Lua中调用函数的几种常见方式: 1. 基本函数调用 最简单的调用方式是使用函数名后跟括号,并在括号内传递参

    2024年04月28日
    浏览(34)
  • 【C语言】函数的定义及调用

            刚刚结束了数组的介绍,有需要的猿友可以去看我之前的文章,从这篇文章开始,进行函数相关的介绍,代码均来自VS编译环境下。 目录 一、定义函数的方法  二、调用函数 1.函数调用的形式

    2024年02月05日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包