博客列表 >JS函数类型及数据类型

JS函数类型及数据类型

**
**原创
2022年01月08日 17:33:412122浏览

一、JS函数类型

1、命名函数

定义:有名字的函数;命名规范为:动词+名词

  1. function getName(userName) {
  2. return "Hello " + userName;
  3. }
  4. console.log(getName("Harvey"));

2、匿名函数

定义:没有名字的函数;分为二类:立即执行函数和变量函数

①立即执行函数

立即执行函数(IIFE): 声明 + 执行 2合1,创建临时作用域,不会给全局环境带来任何的污染;

  1. (function (userName) {
  2. console.log("Hello " + userName);
  3. })("Herman");

②变量函数

将函数保存在一个变量中,”函数声明”变成了”变量声明”, 只不过变量的值相当于是一个函数声明;

  1. // 函数声明
  2. const getUserName = function (userName) {
  3. return "Hello " + userName;
  4. };
  5. // 函数调用
  6. console.log(getUserName("Harvey"));

3、箭头函数

箭头函数就是用来简化匿名函数的声明。

①一般格式

  1. f1 = (a, b) => {
  2. return a + b;
  3. };
  4. console.log(f1(20, 40));

②1个参数

只有一个参数的时候, 参数的括号可以不要了

  1. f1 = username => {
  2. return "Hello " + username;
  3. };
  4. console.log(f1("Harvey"));

③没有参数

没有参数时, 括号一定要写上;如果函数只有一条语句,可以不写大括号,同时函数语句默认就是return ,所以 return 也可以不写。

  1. f1 = () => "今天天气很好";
  2. console.log(f1());

二、函数数据类型

1、原始类型

原始类型包含数值型、字符型、布尔型、undefined和null型,此四种类型为基础类型,不可再分,是构成其它复合类型的基本单元。

①数值型

  1. console.log(123, typeof 123);

②字符型

  1. console.log("php", typeof "php");

③布尔型

  1. console.log(true, typeof true);

④Undefined型

  1. console.log(undefined, typeof undefined);

⑤null型

  1. console.log(null, typeof null);

2、引用类型

引用类型都是对象,类似其它语言中的”复用类型”,默认返回 object。引用类型的数据,由一个或多个相同或不同类型的”原始类型”的值构造,是一个典型的多值类型。

①数组

  1. // 声明
  2. const arr = ["手机", 2, 5000];
  3. // 输出
  4. console.log(arr);
  5. // 数组的索引是从0开始递增的正整数, 0, 1, 2
  6. console.log(arr[0]);
  7. console.log(arr[1]);
  8. console.log(arr[2]);
  9. console.log(arr[3]);
  10. // 判断数组类型的正确方法
  11. console.log(Array.isArray(arr));

②对象

对象的本质就是变量与函数的封装, 变量就是属性, 函数就是方法。

  1. obj = {
  2. name: "手机",
  3. num: 3,
  4. price: 7000,
  5. total: function () {
  6. let str = `${this.name} 总计 ${this.num * this.price} 元`;
  7. return str;
  8. },
  9. };
  10. console.log(obj.total());

3、函数类型

函数是一种数据类型,是函数,也是对象。

①应用场景1: 函数做为参数使用

  1. function f1(callback) {
  2. // 参数 callback 是一个函数
  3. console.log(callback());
  4. }
  5. f1(function () {
  6. return "Hello Herman";
  7. });

②应用场景2: 函数当成返回值

  1. function f2() {
  2. let a = 1;
  3. return function () {
  4. return a++;
  5. };
  6. }
  7. // f2()返回值是一个函数
  8. console.log(f2());
  9. const f = f2();
  10. console.log(f);
  11. console.log(f());
  12. console.log(f());
  13. console.log(f());
  14. console.log(f());
  15. console.log(f());
  16. console.log(f());
  17. console.log(f());
  18. console.log(f());
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议