批改状态:合格
老师批语:

<!DOCTYPE html><html lang='en'><head><meta charset='UTF-8' /><meta http-equiv='X-UA-Compatible' content='IE=edge' /><meta name='viewport' content='width=device-width, initial-scale=1.0' /><title>Document</title></head><body><script>// 1. 命名函数function getName(username) {return 'hello' + username;}console.log(getName('吴彦祖'));// 2.1 匿名函数// 第一种声明方式,将匿名函数当成值赋给一个变量let getUserName = function (username) {return 'hello' + username;};console.log(getUserName('陈冠希'));// 2.2 第二种方式将声明与调用二合一:立即调用函数,IIFE// 表达式,是用一对括号包住的console.log((function (username) {return 'hello' + username;})('刘德华'));// 2.3 箭头函数,用来简化匿名函数的声明function sum(a, b) {console.log(a + b);}sum(1, 2);// 改成箭头函数// 将命名函数改成了匿名函数let add = function (a, b) {console.log(a + b);};add(3, 4);// 使用箭头函数来简化匿名函数// =>(胖箭头),->(瘦箭头)// 转换方法// 1. 去掉function// 2. 在参数列表与大括号之间使用'=>'acc = (a, b) => {console.log(a + b);};acc(5, 6);// 如果只有一个参数,可以不写参数列表的括号acc1 = (a) => {console.log(a + 1);};acc1(9);// 如果没有参数,括号必须加上acc2 = () => {console.log(1 + 2);};acc2();// 如果函数体只有一条语句,大括号都可以不用acc3 = () => console.log(7 + 8);acc3();</script></body></html>

<!DOCTYPE html><html lang='en'><head><meta charset='UTF-8' /><meta http-equiv='X-UA-Compatible' content='IE=edge' /><meta name='viewport' content='width=device-width, initial-scale=1.0' /><title>Document</title></head><body><script>// 1. 原始类型: number, string, boolean,undefined, nullconsole.log(1 + 1);// typeof 查看数据类型console.log(typeof 1 + typeof 1);console.log('hello' + 'world');console.log(typeof ('hello' + 100));// 引用类型,array , object , function// 1. 数组const arr = [1, 'admin', [1, 2, 3], true];console.log(arr);// 访问数据元素,必须通过数组的引用(数组名称arr)来访问(arr是一个访问入口)// 数组成员 的索引是从0开始console.log(arr[1]);console.log(arr[2][1]);console.log(Array.isArray(arr));// 对象let obj = {id:1,username:'吴彦祖',num:[1,2,3],isOK: true,'my email':'84451879@qq.com',}console.log(obj['username']);// 为了简化,并与数组区别,对象有自己的成员访问符:.console.log(obj.id);console.log(obj['my email']);function getUser(obj) {return 'id =' + obj.id + ', username =' + obj.username;}console.log(getUser(obj));// 对象是可以将数据与函数封装到一起,做为一个独立的编程单元// 对象字面量obj2 = {id:2,username:'陈冠希',isOK:true,'my email':'84451879@qq.com',// 将一个函数转为对象的方法,封装到对象中getUser: function(){// 在对象中,使用变量this来引用对象自身return 'id =' + this.id + ',username =' +this.username;},};console.log(obj2.getUser());// 函数// 函数是对象,也是一个值,可以当成参数传递,也可以当成返回值console.log(typeoffunction() {});function f1(callback) {console.log(typeof callback);console.log(callback());}f1(function() {return 'hello 犀利哥';});// 函数返回值:闭包function f2() {// a是 f2的私有变量let a = 1;return function() {// return (a += 1);// 而此时,子函数中的a并不是自己的,是父函数的return a++;};}console.log(f2());const f = f2();console.log(f);console.log(f())console.log(f())console.log(f())console.log(f())console.log(f())console.log(f())// 函数就是对象,对象就可以添加属性和方法let f3 = function() {};f3.myemail = '84451879@qq.com';console.log(f3.myemail);f3.getEmail = function() {console.log(this.myemail);};f3.getEmail();</script></body></html>
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号