JS定义函数的几种常用方法小结
作者:longzhoufeng 发布时间:2024-04-16 09:26:30
本文实例讲述了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程序设计有所帮助。
来源:https://blog.csdn.net/longzhoufeng/article/details/78802382
猜你喜欢
- 随着ajax再网站建设中的的大范围流行,XmlHttp也自然被人们所熟悉。本文介绍了asp任何检测服务器端是否支持xmlhttp组件的方法,
- 1.介绍Go官方提供了database包,database包下有sql/driver。该包用来定义操作数据库的接口,这保证了无论使用哪种数据
- 本文实例讲述了JS+HTML实现的圆形可点击区域。分享给大家供大家参考,具体如下:方法一:<img>通过usemap映射到<
- 一.假设有数据集dfdf.isnull()返回DateFrame,元素为空或者NA就显示True,否则就是False二.判断有空值的列df.
- 1. 读取CSV文件 csv.reader()该方法的作用相当于就是通过 ',' 分割csv格式的数据,并将分割好的每行数据
- 转:coolcode.cn前几天写了一篇在任意字符集下正常显示网页的方法,里面介绍的很简单,就是把前128个字符以外的字符集都用
- 前言这次开发微信抢票程序中,普通用户的身份是由微信管理的。当用户通过微信公众号(测试号)向后台发消息时,微信会将用户的身份标记为一个uniq
- Python 定义了类型转换函数以将一种数据类型直接转换为另一种数据类型,这在日常和竞争性编程中很有用。本文旨在提供有关某些转换函数的信息。
- 一、基本概述目前电脑上已经下载了MongoDB数据库、navicat for mongodb作为mongoDB的可视化工具,形如navica
- 为了提高Asp程序的性能,人们常常将经常使用的数据缓存在 Application,但是你修改了数据库后怎么让application更新呢,本
- Jupyter Notebook默认不显示行号,可是当我们代码报错时,发现会显示自己多少行出现错误。eg:这时候我们总不能一行行去数吧,因此
- 一、为何使用Tkinter而非PyQt众所周知,在Python中创建图形界面程序有很多种的选择,其中PyQt和wxPython都是很热门的模
- 开始第一篇。老规矩,先无聊的谈论天气一类的话题。十一长假,天气也终于开始有些秋天的味道,坐在屋里甚至觉得需要热咖啡。话说两年前也是在国庆假期
- 有没有想过用尺子来直接量网页上的区块间距,文字行高?屏幕标尺就是干这个的。这个功能非常适合F2E在调试样式尺寸的时候使用。打开屏幕标尺,屏幕
- python selenium 获取接口数据。selenium没有直接提供查询的函数,但是可以通过webdriver提供的API查询,使用的
- 从字面意思看了一下是因为slave_pending_jobs_size_max默认值为16777216(16MB),但是slave接收到的s
- 图片显示pytorch 载入的数据集是元组tuple 形式,里面包括了数据及标签(train_data,label),其中的train_da
- go-micro是golang的一个微服务框架。这篇文章将介绍使用go-micro最新版本v4开发gRPC服务的方式。1、安装protoc这
- 1.首先注册应用,获取 appkey、appsecretapi_url = "https://oapi.dingtalk.com/
- 数据库中IP地址数据该怎么存?或许你已经不止一次遇到过这类问题,怎么存?varchar(255)不就完事儿了?坦白说,在我经历的几个项目中,