资讯专栏INFORMATION COLUMN

关于函数的那些事

qiangdada / 1618人阅读

摘要:在中,函数是非常重要的一部分,本文将从多发个方面来解析了解函数。具名函数其中,是关键字不可以更改,是函数名,如果不写,会自动补全为。闭包如果一个函数使用了它范围外的变量,那么这个函数这个变量就叫做闭包。

在JavaScript中,函数是非常重要的一部分,本文将从多发个方面来解析了解函数。那么首先我们要先知道什么是函数?简单来说,函数是一段可以反复调用的代码块,可以用来帮助我们封装、调用代码!

函数的声明

在了解了函数存在的意义和作用后,我们要怎样才能得到一个函数呢?函数的声明一共有五种方法,接下来我们来详细了解一下。

具名函数

function x(input1,input2){
    return 
}

其中,function是关键字不可以更改,x是函数名,如果不写return,会自动补全为return undefined

匿名函数(把没有名字的函数赋值给变量)

var x = function(input1,input2){
    return 
}

把有名字的函数赋值给变量

var x = function y(input1,input2){
    return 
}

这种方法与具名函数的区别是,具名函数可直接打印出函数如图一,而这种方法打印出的却是报错如图二。其原因是两者的作用域不一样。

图一

图二

window.Function函数对象

f = new Function("x","y","return x + y")

最炫的方式登场!箭头函数

f = (x,y) => {return x + y}
name属性

函数中的name属性各种情况如图三:

图三

如何调用函数?

函数中的call属性可以用来调用函数。调用函数一定要加(),如f.call(undefined,x,y);如果直接写函数名不加()是不可以调用的,函数不会被执行。返回值为原始值(数字,字符串,布尔值)的this会指向该原始值的自动包装对象。

this和arguments

什么是this?call的第一个参数可以用this得到
什么是arguments?call后面的参数可以用arguments得到,得到的是除第一个参数外所有参数组成的伪数组。

闭包

如果一个函数使用了它范围外的变量,那么这个函数+这个变量就叫做闭包。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/99302.html

相关文章

  • 关于Javascript中"use strict"那些

    摘要:作用范围这样都会应用上模式。如果你仅想在一个函数中使用的特性检查对象中的重复键这段代码会抛出一个错误因为出现了两次。未声明变量在模式下,给未声明的变量赋值会抛出的警告。重复的参数注意出现了两次,因此会抛出一个错误。 use strict作用范围 // file.js use strict function doStuff(){ // use strict is enabled ...

    icyfire 评论0 收藏0
  • 【JS基础】原型对象那些(一)

    摘要:通过同一个构造函数实例化的多个实例对象具有同一个原型对象。所以当给原型对象赋值一个新对象时,切记将原型对象的指回原构造函数以上就是本次分享的内容,关于原型对象的其他知识,下一篇基础原型对象的那些事二会讲到。 谈起js的基础,绕不过去的坎就是:原型链、作用域链、this(em...好吧,还有闭包),今天总结一下关于原型对象的一些知识,供自己和大家复习。 概念理解 什么是原型对象呢?有以下...

    edgardeng 评论0 收藏0
  • 关于时间那些

    摘要:获取定制时间戳的方法返回数值的单位是毫秒。返回指定日期减去时间间隔后的具体日期返回返回指定日期为全年的第几天日期二将时间戳转为普通日期时间格式当前时间戳将时间戳转为日期时间格式 PHP、JavaScript、MySQL操作时间 关于时间的那些事 PHP篇 PHP中时间操作单位是秒 一、将时间戳转为普通日期格式 //当前时间戳 time(); //当前时间格式 date(Y-m-...

    qqlcbb 评论0 收藏0
  • 关于时间那些

    摘要:获取定制时间戳的方法返回数值的单位是毫秒。返回指定日期减去时间间隔后的具体日期返回返回指定日期为全年的第几天日期二将时间戳转为普通日期时间格式当前时间戳将时间戳转为日期时间格式 PHP、JavaScript、MySQL操作时间 关于时间的那些事 PHP篇 PHP中时间操作单位是秒 一、将时间戳转为普通日期格式 //当前时间戳 time(); //当前时间格式 date(Y-m-...

    mzlogin 评论0 收藏0

发表评论

0条评论

qiangdada

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<