批改状态:合格
老师批语:
// 命名函数function sum(a, b) {return a + b;}console.log(sum(1, 2));// 匿名函数// 立即执行 IIFE(function (a, b) {console.log(a + b);})(1, 3);// 函数表达式let f;f = function (a, b) {return a + b;};console.log(f(1, 2));// 箭头函数// 1. 去掉 function// 2. 在参数括号(...) 与 大括号{...} 之间使用 胖箭头 => 连接f = (a, b) => {return a + b;};console.log(f(1, 2));// 如果只有一条语句,return ,可以不写大括号// 因为只有一条语句,默认就是return ,所以 return 也可以不写的let f1;f1 = (x) => {return x * 2;};f1 = (x) => x * 2;console.log(f1(40));console.log(f1(90));// 没有参数时, 括号一定要写上f1 = () => "今天天气很好";console.log(f1());
// 原始类型// 不可再分, 是构成其它复合类型的基本单元// * number, string, boolean, undefined, null// typeof 查看类型console.log(typeof 2);// 引用类型// 引用类型, 都是对象, 默认返回 object ,函数除外(返回function)// array, object, function// 数组 arraylet a = [1, 2, "aaa"];console.log(a[2]);// 判断数组类型的正确方法console.log(Array.isArray(a));// 对象 objectlet o = { name: "aa", sex: "f", age: 20 };console.log(o["sex"]);console.log(o.name);let human = {name: "aa",sex: "f",age: 20,who: function () {// 反引号声明的模板字符串, 可以插入变量/表达式, 这叫"插值"let j = `姓名:${this.name} 性别:${this.sex} 年龄:${this.age}`;return j;},};console.log(human.who());// 函数 function// 函数是一种数据类型 , 并且 还是 对象console.log(typeof function () {});// 函数即是函数, 也是对象console.log(function () {} instanceof Object);// 函数是数据类型的好处// 可以当成普通值来使用, 例如充当函数的参数,或者函数的返回值// 如充当函数的参数,就是回调函数,// 如充当返回值,可以创建一个闭包// 函数做为参数使用, 回调function f1(callback) {// 参数 callback 是一个函数console.log(callback());}// 调用f1, 匿名函数当成f1的参数f1(function () {return "Hello word";});// 函数当成返回值, 闭包function f2() {let a = 1;return function () {return (a = a + 1);};}// f2()返回值是一个函数console.log(f2());const f = f2();console.log(f());console.log(f());// 以下是函数当成对象来用// 对象有属性和方法, 当然函数也有属性有方法function func(a, b) {return a + b;}// 查看函数名console.log(func.name);// 查看函数需要几个参数console.log(func.length);func.att = "函数的属性";console.log(func.att);
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号