🐚作者简介:苏凉(专注于网络爬虫,数据分析,正在学习前端的路上)
🐳博客主页:苏凉.py的博客
🌐系列专栏:web前端基础教程
👑名言警句:海阔凭鱼跃,天高任鸟飞。
📰要是觉得博主文章写的不错的话,还望大家三连支持一下呀!!!
👉关注✨点赞👍收藏📂

文章目录

    • 简介
    • 函数的创建
      • 1 用构造函数创建
      • 2 用函数声明创建
      • 3 用函数表达式创建
    • 函数的参数
      • 参数特性
        • 1 调用函数时解析器不会检查实参的类型
        • 2 调用函数时解析器不会检查实参的数量
        • 3 当形参和实参过多,可以用一个对象封装
    • 函数的返回值
    • 立即执行函数
    • 方法
    • 函数作用域
    • 补充:JavaScript中的作用域相关概念

简介

函数(Function

函数的创建

在JavaScript中有三种方法来创建函数

  1. 构造函数创建
  2. 函数声明创建
  3. 函数表达式创建

其中第一种方法在实际使用中并不常用。创建函数之后需调用函数才可执行函数体内的代码。
函数的调用:

语法:函数名();

1 用构造函数创建

语法:var 函数名 = new Function(“语句;”)

使用new关键字创建一个函数,将要封装的功能(代码)以字符串的形式传递给封装函数,在调用函数时,封装的功能(代码)会按照顺序执行。

web前端-JavaScript中的函数(创建,参数,返回值,方法,函数作用域,立即执行函数)

2 用函数声明创建

语法:function 函数名([形参1,形参2....]){语句...}

用函数声明显而易见的要简便许多,小括号中的形参视情况而写,语句写在中括号内。与构造函数不同的是不需要以字符串的形式写入。

web前端-JavaScript中的函数(创建,参数,返回值,方法,函数作用域,立即执行函数)

3 用函数表达式创建

语法:var 变量(函数名)=function([形参1,形参2....]){语句...};

函数表达式和函数声明的方式创建函数的方法相似,不同的是用函数表达式创建函数是将一个匿名函数赋值给一个变量,同时在语句结束后需加分号结尾。

web前端-JavaScript中的函数(创建,参数,返回值,方法,函数作用域,立即执行函数)

函数的参数

参数特性

1 调用函数时解析器不会检查实参的类型

函数的实参可以时任意数据类型,在调用函数时传递的实参解析器并不会检查实参的类型,因此需要注意,是否有可能接收到非法的参数,如果有可能则需要对参数进行类型的检查。

web前端-JavaScript中的函数(创建,参数,返回值,方法,函数作用域,立即执行函数)

2 调用函数时解析器不会检查实参的数量

在调用函数传入实参时,解析器不会检查实参的数量,当实参数大于形参数时,多余实参不会被赋值。

web前端-JavaScript中的函数(创建,参数,返回值,方法,函数作用域,立即执行函数)

当实参数小于形参数时,没有被赋值的形参为undefined。

web前端-JavaScript中的函数(创建,参数,返回值,方法,函数作用域,立即执行函数)

3 当形参和实参过多,可以用一个对象封装

当形参和实参数量过多时,我们很容易将其顺序搞乱或者传递参数时出错,此时我们可以将数据封装在一个对象中,在进行实参传递时,传入该对象即可。

web前端-JavaScript中的函数(创建,参数,返回值,方法,函数作用域,立即执行函数)

函数的返回值

可以使用return来设置函数的返回值

语法:return 值

若return后不跟任何值或者不写return,函数的返回值都是undefined。web前端-JavaScript中的函数(创建,参数,返回值,方法,函数作用域,立即执行函数)
web前端-JavaScript中的函数(创建,参数,返回值,方法,函数作用域,立即执行函数)

另外,在函数体中return返回的是什么,变量接受的就是什么。

web前端-JavaScript中的函数(创建,参数,返回值,方法,函数作用域,立即执行函数)

立即执行函数

语法:(function(形参...){语句...})(实参...);

web前端-JavaScript中的函数(创建,参数,返回值,方法,函数作用域,立即执行函数)

方法

对象的属性值可以时任意的数据类型,当属性值为一个函数时,在对象中调用该函数,就叫做调用该对象的方法。

web前端-JavaScript中的函数(创建,参数,返回值,方法,函数作用域,立即执行函数)

函数作用域

补充:JavaScript中的作用域相关概念

简而言之我们创建的全局变量都作为一个属性保存在window这个对象中。
web前端-JavaScript中的函数(创建,参数,返回值,方法,函数作用域,立即执行函数)

而在函数中创建局部变量时,必须使用var关键字创建,否则为全局变量。
web前端-JavaScript中的函数(创建,参数,返回值,方法,函数作用域,立即执行函数)

发表回复