webAPI第九天
js高级
箭头函数
const func=() =>{}
// 箭头函数是匿名函数,一般做为参数传递
// let test = function (a,b){
// let sum = a + b
// return sum
// }
// let test = (参数) => {函数体}
// 几个小细节
// 1.如果函数体只有一句,那么可以省略{},同时默认会返回函数体的结果,不能写return
// 2.如果只有一个参数,那么可以省略()
// 3.如果没有参数,()也不能省略
// let test = (a,b) => a + b // 不能有大括号
let test = a => a + 10
let res = test(100)
console.log(res)
// 没有形参、有返回值,业务一行代码
// const func7 = () => {
// return 100 + 200;
// };
// 没有形参、有返回值,业务一行代码 等价上述写法
const func7 = () => 100 + 200; // 相等于 return 100+200
// 如果你一定要在箭头函数中想要通过省略 return的方式来 返回对象,请你加上一个小括号
const func7=(num)=>({a:123});// => 右边加了小括号
表示想要返回 小括号里面的数据 return {a:123};
const func8=(num)=>{a:123};// => undefined
数组的方法
forEach
遍历数组
map
根据旧数组 重新改造成新数组
filter
过滤或者筛选
every
要求数组中每一个元素都满足条件 返回true
some
要求数组中最少有一个满足条件 返回true
伪数组转真正数组
const arr=[...dom数组]
面向对象
一种编程行业通用的写项目级的代码的思维,引导我们如何编写高质量的代码,万物皆对象 - 看待事物的角度,(属性:数据,行为:动作(方法) )。代码特点是封装和继承
概念
写项目级别代码的 思维
思维
看成两个部分
1 属性(颜色、名称、身高。。)
2 行为(说话、修改颜色、设置字体大小)
字面量 创建对象
const obj={}
工厂函数
- 容易理解
- 失去
血缘关系,无法简单分辨对象的特征 - 后期无法实现继承
function createPerson(name){ return { name:name } }
构造函数
-
可以方便的创建对象
-
拥有血缘关系
-
还有后续更多的优势
构造函数 创建不同人 大家有大家的名字, 共同一个行为 say => 说出自己的名称
普通的属性写在构造函数内
行为方法写在原型上 prototype
function CreatePerson(name){ this.name=name } CreatePerson.prototype.say=function(){} CreatePerson 就是构造函数 const obj1=new CreatePerson("悟空")