欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JS函数类型及数据类型

程序员文章站 2022-05-16 21:24:03
...

一、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());