JavaScript中如何使用Function对象
今天就跟大家聊聊有关JavaScript中如何使用Function对象,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
文昌网站建设公司创新互联建站,文昌网站设计制作,有大型网站制作公司丰富经验。已为文昌上千余家提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的文昌做网站的公司定做!
函数定义
实例定义
在Js
中函数是Fuction
类的实例对象,因此我们可以用实例化的方式来定义函数,这也能充分理解函数也是对象这一概念。
复制代码
标准定义
使用Function
类的方式定义函数太过麻烦,因此推荐使用function
标准语法进行定义。
复制代码
对象字面量
我们可以在一个对象中定义函数,这通常会被称之为对象方法。
复制代码
匿名函数
全局声明的标准定义函数会被存入window
对象中,这样做会产生很多弊端。
因为我们的函数名如果不恰当的话可能造成window
方法缺失。
复制代码
因此,可以通过赋值来进行匿名函数的定义,定义前使用let/const
进行声明,这样就不会压入至window
对象中,注意后面要以;
结束。 注意:以var
声明的匿名函数会压入至window
对象中
复制代码
函数执行
函数提升
标准定义的函数会进行函数提升,可以先使用后定义,这是不符合规范的。
但是匿名函数不会进行函数提升。
函数的提升是排在var
变量提升之前的,因此如果函数名与用var
定义的变量重复那么该名字会被变量拿到,函数则会被当做垃圾回收。
即使使用了
var
来定义匿名函数,也不会进行函数提升, 但是会将该函数压入window
对象中,所以建议使用let/const
来对匿名函数进行接收。
标准声明函数会进行提升
复制代码
匿名函数不会进行提升
复制代码
自执行函数
在很早之前,如果你写了一个Js
模块,为了防止全局作用域的污染,你会将代码放入一个自执行函数里面。
但是现在不用了,因为let/const
具有块作用域,它们的出现决定我们今后写的模块不用再拿自执行函数来进行封装了。
首先来看一下自执行函数怎么使用。
复制代码
自执行函数封装
复制代码
(function () { function show() { console.log("执行了show功能"); } function test() { console.log("执行了test功能"); } window.module = { show, test }; })();
let
作用域封装
复制代码
{ let show = function () { console.log("执行了show功能"); } let test = function () { console.log("执行了test功能"); } window.module = { show, test }; };
调用
复制代码
参数相关
形参实参
形参是在函数声明时设置的参数,实参指在调用函数时传递的值,注意,传参时必须一一对应!
形参数量大于实参时,没有传参的形参值为
undefined
实参数量大于形参时,多于的实参将忽略并不会报错
使用
函数名.length
可获取需要传递形参的数量
复制代码
默认形参
默认形参要放在最后,当没有实参传递时采用默认形参的值,当有实参传递时采用实参传递的值。
复制代码
复制代码
函数参数
函数本身也可当做一个参数传递给另一个函数。
复制代码
arguments
当某个函数要接收无限多的参数时,可不指定形参,使用arguments
来进行接收(必须是这个名字)。
注意:
arguments
是Arguments
对象,并不是一个数组。但是我们可以将它转换为数组再进行操作
复制代码
...语法
当形参要接收无限多的参数时,可在形参名前加入...
,使用进行接收。该形参会作为一个Array
对象接收无限多的参数。
这个是更推荐使用的方式
复制代码
当实参是一个数组或者类数组的数据类型时,可以使用...
语法来为形参一一对应传参。但是要注意,严格模式下不允许这样做。
复制代码
箭头函数
箭头函数是函数声明的简写形式,在使用递归调用、构造函数、事件处理器时不建议使用箭头函数。
无参数时使用空扩号即可,代码块过于简短可省略花括号。
函数体为单一表达式时不需要
return
返回处理,系统会自动返回表达式计算结果。多参数传递与普通声明函数一样使用逗号分隔
只有一个参数时可以省略参数括号。
无参数时使用空扩号即可,代码块过于简短可省略花括号。
复制代码
函数体为单一表达式时不需要 return
返回处理,系统会自动返回表达式计算结果。
复制代码
多参数传递与普通声明函数一样使用逗号分隔
复制代码
只有一个参数时可以省略参数括号。
复制代码
递归调用
递归指函数内部调用自身的方式。
主要用于数量不确定的循环操作
要有退出时机否则会陷入死循环
以下示例将展示使用递归进行累加操作。
复制代码
以下示例将展示使用递归打印倒三角。
复制代码
回调函数
回调函数是指在某一特定情况下会被其他函数所调用的函数,比如处理鼠标事件,键盘事件的函数都是回调函数。
复制代码
标签函数
当使用模板字面量对字符串进行格式化时,可指定一个标签函数。第一个参数是字符串值的数组,其余的参数为标签变量。
注意!标签函数会自动执行!
复制代码
看完上述内容,你们对JavaScript中如何使用Function对象有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。
本文标题:JavaScript中如何使用Function对象
新闻来源:http://scjbc.cn/article/jppcep.html