批改状态:合格
老师批语:
fn=function(a,b){return function(c){return function(d){return a+b+c+d;}}}let f=fn(1,2)(3)(4);console.log(f);//转为箭头函数fn=(a,b)=>c=>d=>a+b+c+d;console.log(f=fn(1,2)(3)(4));
// 访问器属性let obj={data:{name:'蓝魔',addr:'青岛'},get addr(){return this.data.addr;},set addr(addr){this.data.addr=addr;}}console.log(obj.data.name);console.log(obj.data.addr);obj.data.addr='山东';console.log(obj.data.addr);
// 传统构造函数let App=function(name,email){this.name=name;this.email=email;}// 定义公有方法 App.prototypeApp.prototype.getInfo=function(){return this;}// 创建对象const app1=new App('LST','lst@php.cn');console.log(app1.name,app1.email);console.log(app1.getInfo());;// ES6中的Classclass Parent{// 公开属性name;phone;// 私有属性#sex;// 静态属性static flag=true;// 构造方法constructor(name,phone,sex){this.name=name;this.phone=phone;this.#sex=sex;}// 公开方法getInfo(){return this;}}// 实例化对象const p=new Parent('蓝魔','13200001111','Man');console.log(p);// 类的继承class Child extends Parent{childName;constructor(name,phone,sex,childname){super(name,phone,sex);this.childName=childname;}getInfo(){return `${super.getInfo()},${this.childName}`;}}const c=new Child('红魔','13677778888','Woman','小孩');console.log(c.getInfo());console.log();console.log(Parent.flag);
// 数组解构 "模板=数组"let [a,b]=['lst','hello'];console.log(a,b);// 更新[a,b]=['SONG','TAO'];console.log(a,b);// 参数不足,使用默认值let [a2,b2]=[1,2];[a2,b2,c2=3]=[1,2];console.log(a2,b2,c2);// 参数过多,用...restlet [a3,b3,...c3]=[1,2,3,4,5,6,7];console.log(a3,b3,c3);// 实例:两数交换let g=66;let h=77;[h,g]=[g,h];console.log(g,h);
// 对象解构 “对象模板 = 对象的键”let {id,name,dept}={id:1,name:'lst',dept:'技术部'};console.log(id,name,dept);// 更新,大括号不能直接出现在=左边。用()包裹起来转为表达式即可。({id,name,dept}) = {id:11,name:'Song',dept:'采购部'};console.log(id,name,dept);// 当左边模板中出现变量命名冲突时,可用别名代替解决(原变量名:别名)let {id:id2,name:name2,dept:dept2}={id:2,name:'Tao',dept:'销售部'};console.log(id2,name2,dept2);// 克隆对象let {...obj2} = {id:5,name:'666',dept:777};console.log(obj2.id,obj2.dept);// 对象解构传参function getInfo({id,name,dept}){console.log(id,name,dept);}getInfo({id:1,name:'lst',dept:'JiShuBu'});
<!-- 1.写到元素的标签中,比如事件属性 --><button onclick="this.style.color='red';document.body.style.background='yellow'">点击变字</button><!-- 2.使用javascript标签引入 --><button onclick="save(this);">点击保存</button><script>function save(obj){document.body.style.background='yellow';obj.textContent='保存成功!';obj.style.background='green';}</script><!-- 3.引入外部.js文件引入脚本 --><script src='my.js'></script>

<!-- 1.querySelectorAll(css选择器):选择一组 --><div class="item">item1</div><div class="item">item2</div><div class="item">item3</div><div class="item">item4</div><div class="item">item5</div><div class="item">item6</div><script>let items=document.querySelectorAll('.item');for(let i=0,length=items.length;i<length;i++){items[i].style.background='lightgreen';}</script>

<div class="item">item1</div><div class="item">item2</div><div class="item">item3</div><div class="item">item4</div><div class="item">item5</div><div class="item">item6</div><!-- 2.querySelector(css选择器):选择匹配到的第一个 --><script>let item=document.querySelector('.item');item.style.background='lightgreen';// 匹配任意一个item=document.querySelector('.item:nth-of-type(3)');item.style.background='lightgreen';</script>

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号