JS定义函数的几种常用方法小结

 更新时间:2019年05月23日 12:04:45   作者:longzhoufeng  
这篇文章主要介绍了JS定义函数的几种常用方法,结合实例形式总结分析了javascript函数表达式、Lambda 表达式、对象方法等常见函数定义操作技巧,需要的朋友可以参考下

本文实例讲述了JS定义函数的几种常用方法。分享给大家供大家参考,具体如下:

在 JavaScript 语言里,函数是一种对象,所以可以说函数是 JavaScript 里的一等公民(first-class citizens)。

之前我们这样定义过一个函数:

function greet(greeting, name) {
 return `${greeting}, ${name}`
}

因为在 JavaScript 里面是对象(object),所以它会有一些属性还有方法。比如 name 属性是函数的名字,length 属性指的是函数里面有多少个必须要传递的参数。比如访问上面定义的这个函数里的两个属性:

greet.name
// 输出 greet
greet.length
// 输出 2,表示有两个参数

函数都是 Function 的实例,所以你可以访问 Function 上定义的属性:name,length,可以使用方法:apply(),call()。可以这样证明:

greet instanceof Function
// 返回 'true'

函数表达式

函数是对象,也可以说函数是一个值,因为在 JavaScript 里面,它跟其它类型的值是一样的,比如字符串,数字。这就可以让我们使用函数表达式的方法来定义函数,也就是定义一个匿名函数(anonymous function),再把它交给一个变量。像这样:

var greet = function (greeting, name) {
 return `${greeting}, ${name}`
}

Lambda 表达式

ES6 可以让我们用 Lambda 表达式,也就是箭头函数(fat arrow function),看起来像这样:

var greet = (greeting, name) => {
 return `${greeting}, ${name}`
}

上面这个函数的主体部分只有一行,就是 return 了一个字符串,所以我们可以让它更简洁一些:

var greet = (greeting, name) => `${greeting}, ${name}`

箭头右边的东西会自动被返回(return)。

对象里的方法

如果有一个函数是在一个对象里,一般我们称这种函数是对象的一个方法(method)。

试一下:

var obj = {
 greet: function (greeting, name) {
  return `${greeting}, ${name}`
 }
}

ES6 可以让我们这样为对象定义方法:

var obj = {
 greet (greeting, name) {
  return `${greeting}, ${name}`
 }
}

上面定义了一个名字是 obj 的对象,在它里面添加了一个叫 greet 的方法。要使用这个方法可以这样:

obj.greet('hello', ' my name is X ')
// 返回 “ hello, my name is X ”

更多关于JavaScript相关内容可查看本站专题:《JavaScript常用函数技巧汇总》、《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript数学运算用法总结

希望本文所述对大家JavaScript程序设计有所帮助。

相关文章

  • 微信sdk实现禁止微信分享(使用原生php实现)

    微信sdk实现禁止微信分享(使用原生php实现)

    这篇文章主要介绍了微信sdk实现禁止微信分享(使用原生php实现),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • JS常用加密编码与算法实例总结

    JS常用加密编码与算法实例总结

    这篇文章主要介绍了JS常用加密编码与算法,结合实例形式总结分析了javascript常见的utf8、base64编码及md5、md4、SHA1等算法实现方法,需要的朋友可以参考下
    2016-12-12
  • 星期几的不同脚本写法(推荐)

    星期几的不同脚本写法(推荐)

    下面小编就为大家带来一篇星期几的不同脚本写法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • JavaScript DOMContentLoaded事件案例详解

    JavaScript DOMContentLoaded事件案例详解

    这篇文章主要介绍了JavaScript DOMContentLoaded事件案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • JS原形与原型链深入详解

    JS原形与原型链深入详解

    这篇文章主要介绍了JS原形与原型链,结合实例形式深入分析了JS原型链、继承、组合继承等相关原理、操作技巧及注意事项,需要的朋友可以参考下
    2020-05-05
  • 细说JavaScript中的变量,作用域和垃圾回收

    细说JavaScript中的变量,作用域和垃圾回收

    这篇文章主要和大家介绍一下JavaScript中的变量,作用域和垃圾回收的定义与使用,文中的示例代码讲解详细,对我们学习JavaScript有一定的帮助,需要的可以参考一下
    2022-11-11
  • JavaScript中判断为整数的多种方式及保留两位小数的方法

    JavaScript中判断为整数的多种方式及保留两位小数的方法

    这篇文章主要介绍了JavaScript中判断为整数的多种方式,以及保留两位小数的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • 教你如何解密js/vbs/vbscript加密的编码异处理小结

    教你如何解密js/vbs/vbscript加密的编码异处理小结

    教你如何解密js/vbs/vbscript加密的编码异处理加密代码 是一篇非常不错的加密解密原理,希望大家仔细研究
    2008-06-06
  • 原生javascript实现图片弹窗交互效果

    原生javascript实现图片弹窗交互效果

    这篇文章主要介绍了原生javascript实现图片弹窗交互效果的方法及的相关资料,需要的朋友可以参考下
    2015-01-01
  • js实现简单的省市县三级联动效果实例

    js实现简单的省市县三级联动效果实例

    这篇文章主要介绍了js实现简单的省市县三级联动效果,以完整实例形式分析了JavaScript实现省市县三级联动效果的具体步骤与相关实现技巧,需要的朋友可以参考下
    2016-02-02

最新评论