博客列表 >函数类型、数据类型

函数类型、数据类型

云中
云中原创
2022年01月03日 23:16:29673浏览

函数类型

  1. // 命名函数
  2. function sum(a, b) {
  3. return a + b;
  4. }
  5. console.log(sum(1, 2));
  6. // 匿名函数
  7. // 立即执行 IIFE
  8. (function (a, b) {
  9. console.log(a + b);
  10. })(1, 3);
  11. // 函数表达式
  12. let f;
  13. f = function (a, b) {
  14. return a + b;
  15. };
  16. console.log(f(1, 2));
  17. // 箭头函数
  18. // 1. 去掉 function
  19. // 2. 在参数括号(...) 与 大括号{...} 之间使用 胖箭头 => 连接
  20. f = (a, b) => {
  21. return a + b;
  22. };
  23. console.log(f(1, 2));
  24. // 如果只有一条语句,return ,可以不写大括号
  25. // 因为只有一条语句,默认就是return ,所以 return 也可以不写的
  26. let f1;
  27. f1 = (x) => {
  28. return x * 2;
  29. };
  30. f1 = (x) => x * 2;
  31. console.log(f1(40));
  32. console.log(f1(90));
  33. // 没有参数时, 括号一定要写上
  34. f1 = () => "今天天气很好";
  35. console.log(f1());

数据类型

  1. // 原始类型
  2. // 不可再分, 是构成其它复合类型的基本单元
  3. // * number, string, boolean, undefined, null
  4. // typeof 查看类型
  5. console.log(typeof 2);
  6. // 引用类型
  7. // 引用类型, 都是对象, 默认返回 object ,函数除外(返回function)
  8. // array, object, function
  9. // 数组 array
  10. let a = [1, 2, "aaa"];
  11. console.log(a[2]);
  12. // 判断数组类型的正确方法
  13. console.log(Array.isArray(a));
  14. // 对象 object
  15. let o = { name: "aa", sex: "f", age: 20 };
  16. console.log(o["sex"]);
  17. console.log(o.name);
  18. let human = {
  19. name: "aa",
  20. sex: "f",
  21. age: 20,
  22. who: function () {
  23. // 反引号声明的模板字符串, 可以插入变量/表达式, 这叫"插值"
  24. let j = `姓名:${this.name} 性别:${this.sex} 年龄:${this.age}`;
  25. return j;
  26. },
  27. };
  28. console.log(human.who());
  29. // 函数 function
  30. // 函数是一种数据类型 , 并且 还是 对象
  31. console.log(typeof function () {});
  32. // 函数即是函数, 也是对象
  33. console.log(function () {} instanceof Object);
  34. // 函数是数据类型的好处
  35. // 可以当成普通值来使用, 例如充当函数的参数,或者函数的返回值
  36. // 如充当函数的参数,就是回调函数,
  37. // 如充当返回值,可以创建一个闭包
  38. // 函数做为参数使用, 回调
  39. function f1(callback) {
  40. // 参数 callback 是一个函数
  41. console.log(callback());
  42. }
  43. // 调用f1, 匿名函数当成f1的参数
  44. f1(function () {
  45. return "Hello word";
  46. });
  47. // 函数当成返回值, 闭包
  48. function f2() {
  49. let a = 1;
  50. return function () {
  51. return (a = a + 1);
  52. };
  53. }
  54. // f2()返回值是一个函数
  55. console.log(f2());
  56. const f = f2();
  57. console.log(f());
  58. console.log(f());
  59. // 以下是函数当成对象来用
  60. // 对象有属性和方法, 当然函数也有属性有方法
  61. function func(a, b) {
  62. return a + b;
  63. }
  64. // 查看函数名
  65. console.log(func.name);
  66. // 查看函数需要几个参数
  67. console.log(func.length);
  68. func.att = "函数的属性";
  69. console.log(func.att);
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议