当前位置: 首页 > news >正文

湖北住房城乡建设厅网站lnmp架构部署wordpress

湖北住房城乡建设厅网站,lnmp架构部署wordpress,邯郸邯山区网站建设,运动服装商城网站建设一、生成器函数Generator 1、声明generator函数 function* 函数名() { }调用生成器函数 需要next()返回一个generator对象#xff0c;对象的原型上有一个next(),调用返回对象{value:yield后面的值,done} function* fn() {console.log(我是生成器函数) } let it…一、生成器函数Generator 1、声明generator函数 function* 函数名() { }调用生成器函数 需要next()返回一个generator对象对象的原型上有一个next(),调用返回对象{value:yield后面的值,done} function* fn() {console.log(我是生成器函数) } let item fn() console.log(item);//fn {suspended} item.next()//我是生成器函数2、yield和return的区别 yield是暂停执行调用next()方法继续执行return结束执行 3、next() yield和next()个数一样 function* fn() {console.log(我是生成器函数);yield 我是生成器函数2console.log(我是生成器函数3);yield 我是生成器函数4console.log(我是生成器函数5); } let item fn() console.log(item);//fn {suspended} console.log(item.next()); //我是生成器函数 {value: 我是生成器函数2, done: false} console.log(item.next()) //我是生成器函数3 {value: 我是生成器函数4, done: false} console.log(item.next()) //我是生成器函数5 {value: undefined, done: true}4、在生成器函数里面调用生成器函数需要用yield*去调用 可以传参参数是上一个yield的返回值 function* fn_1() {console.log(fn_1); } function* fn_2() {console.log(fn_2); } function* fn_3() {console.log(fn_3); } function* fn_4() {yield* fn_1()yield* fn_2()yield* fn_3() } let it fn_4()//fn_1 fn_2 fn_3二、class类基本用法 1、class格式 static定义的只能类去调用 class 属性名 {//构造函数constructor () {}//自定义函数 class Animal { //构造函数constructor(name, age){this.name namethis.age age}//自定义函数getName(value) {//this指向实例化对象console.log(this)}setName() {console.log(value)this.name value}static getAge() {console.log(this)}let dog new Animal(狗, 2)console.log(dog);//Animal {name: 狗, age: 2}dog.setName(猫)//改名字为猫console.log(dog);//Animal {name: 猫, age: 2}// dog.getAge()//dog.getAge is not a functionAnimal.getAge()//static定义的只能类去调用 }2、继承 extends super指代父类 // 继承extends class Cat extends Animal {constructor(name, age, color) {super(name, age)// 写在super下面 因为this指向问题this.color color}getName_1() {console.log(getName_1);super.getName()} } let cat new Cat(加菲, 3, yellow) console.log(cat);//Cat {name: 加菲, age: 3, color: yellow} cat.getName()//Cat {name: 加菲, age: 3, color: yellow} cat.getName_1()//getName_1 Cat {name: 加菲, age: 3, color: yellow}三、set、map与模块化 1、set() 参数必须是可遍历对象不能重复 set的类型是object let set new Set() console.log(set);//Set(0) console.log(typeof set);//objectset的作用数组去重 格式 : let set new Set([1, 2, 3, [1]]) console.log(set);//Set(4) {1, 2, 3, Array(1)}set方法和属性 add()方法添加成员 let set new Set([1, 2, 3, [1]]) set.add(4) set.add(2) console.log(set);//Set(5) {1, 2, 3, Array(1), 4}size属性 成员的个数 console.log(set.size);//5delete 删除属性 成功true 失败false console.log(set.delete(2));//true console.log(set);//Set(4) {1, 3, Array(1), 4}clear()方法 清除所有成员 set.clear() console.log(set);//Set(0) {size: 0}has()方法 判断set结构中是否含有指定的值 如果有返回true 没有返回false //因为上面清空了 所以false console.log(set.has(1));//falseenteries():返回一个键值对的遍历器 console.log(set.entries());//SetIterator {} for (let [key, value] of set.entries()) {console.log(key);//1 3 [1] 4console.log(value);//1 3 [1] 4 }keys()返回键名的遍历器。 for (let key of set.keys()) {console.log(key);1 3 [1] 4 }values()返回键值的遍历器 for (let values of set.values()) {console.log(values);1 3 [1] 4 }forEach() set.forEach((item, index) {// console.log(item);//1 3 [1] 4console.log(index);//1 3 [1] 4 })数组去重 let arr_2 [1, 2, 3, 4, 5, 2, 3] console.log(arr_2);//[1, 2, 3, 4, 5, 2, 3] console.log(new Set(arr_2));// {1, 2, 3, 4, 5} console.log(Array.from(new Set(arr_2)));// [1, 2, 3, 4, 5] console.log([...new Set(arr_2)]);//[1, 2, 3, 4, 5]WeakSet() 参数必须是引用类型WeakSet结构也提供了add( ) 方法delete( ) 方法has( )方法给开发者使用作用与用法跟Set结构完全一致。不可以遍历对象 size entries keys values forEach没有 // let weak new WeakSet([1, 2, 3])//Invalid value used in weak set let weak new WeakSet([{ name: zs }, [1, 2, 3], set]) console.log(weak);//WeakSet {Array(3), Set(4), object}四、Map() map声明 map是object类型 let map new Map() console.log(map);//Map(0) {size: 0} console.log(typeof map);//object2、参数是数组 [key,value] let map new Map([[1, 2], [{ name: zs }], [4, 5], [{ name: zs }, function () { }]]) console.log(map); //Map(4) {1 2, {…} undefined, 4 5, {…} ƒ}3、方法 set(key,value) 设置键值对 添加到map里面 给实例对象设置一对键值对返回map相同的属性名 会替换之前的属性 let map new Map([[4, 5]]) map.set(4, 6) console.log(map);//Map(1) {4 6}get()通过属性名获取 属性值 console.log(map.get(4));//6 console.log(map.get({ name: zs })); //undefined 因为地址不一样所以undefined console.log(map.get(name));//zslet obj { name: zs } let obj1 { name: zs } console.log(obj obj1);//因为是引用类型 地址不一样 falsedelete( )方法作用删除指定的键值对删除成功返回true否则返回false。 console.log(map.delete(1)); console.log(map.delete({ name: zs })); console.log(map);//{name zs, 4 6, {…} ƒ, true null}clear( )方法让你一次性删除所有键值对。 map.clear() console.log(map)//Map(0) {size: 0}has() 判断属性是否存在 有返回true 没有 false entries( )方法作用返回实例的键值对遍历器。 keys() 返回实例的键遍历器。 values() 返回实例的键遍历器。 forEach() 遍历 size获取实例的成员数。 4、weakMap和map区别 key只能是引用类型的值 // key只能是引用类型的值 let wMap new WeakMap([[{ name: zs }, 2]])console.log(wMap);//WeakMap {{…} 2} wMap.set([4], 5) console.log(wMap);//WeakMap {{…} 2, Array(1) 5}五、Promise对象重点 1、解决的问题 回调地狱 回调函数的层层嵌套 2、声明Promise对象 回调函数 重点 格式 new Promise ((resolve,reject) {})三种状态 // 声明promise对象(回调函数) let pro new Promise((resolve, reject) {console.log(resolve);//ƒ () { [native code] }$.ajax({url: https://wkt.myhope365.com/weChat/applet/course/banner/list?number5,success(res) {resolve(res)}}) }) console.log(pro);//Promise {pending} 初始化等待中pending 初始化等待中fulfilled 成功rejected 失败 初始化 成功 初始化 失败不可逆转pending fulfilled pending rejected (不可逆转的) then 成功之后 resolve()catch失败之后 reject()pro.then( () {} ).catch( () {}) 链式调用下一个then方法的参数是上一个then的返回值 3、promise里面的then()是异步的 用then处理操作成功catch处理操作异常 let pro new Promise(function (resolve, reject) {if (true) { //如果改为false 输出请求失败//调用操作成功方法resolve(操作成功);} else {//调用操作异常方法reject(操作异常);} }); //用then处理操作成功catch处理操作异常 // 下一个then方法的参数是上一个then的返回值 pro.then(requestA) //请求A成功.then(requestB)//上一步的结果请求B下一个就是你了 请求B成功.then(requestC)//上一步的结果请求C下一个就是你了 请求C成功.catch(requestError); function requestA() {console.log(请求A成功);return 请求B下一个就是你了; } function requestB(res) {console.log(上一步的结果 res);console.log(请求B成功);return 请求C下一个就是你了; } function requestC(res) {console.log(上一步的结果 res);console.log(请求C成功); } function requestError() {console.log(请求失败); }4、promise.all() 参数是数组 接受一个数组作为参数数组里面是promise实例对象当参数中的所有的实例对象的状态都成功(fulfilled)的时候才会返回 let pro1 new Promise(function (resolve) {setTimeout(function () {resolve(实例1操作成功);}, 5000); }); //创建实例pro2 let pro2 new Promise(function (resolve, reject) {setTimeout(function () {resolve(实例2操作成功);}, 1000); }); Promise.all([pro1, pro2]).then(function (result) {console.log(result);//[实例1操作成功, 实例2操作成功] });5、Promise.race()参数是数组 它的参数要求跟Promise.all( )方法一样不同的是它参数中的promise实例只要有一个状态发生变化不管是成功fulfilled还是异常rejected它就会有返回 let pro1 new Promise(function (resolve) {setTimeout(function () {resolve(实例1操作成功);}, 1000); }); //创建实例pro2 let pro2 new Promise(function (resolve, reject) {setTimeout(function () {reject(实例2操作失败);}, 2000); }); Promise.race([pro1, pro2]).then(function (result) {console.log(result); }).catch(error {console.log(error); });
http://www.zqtcl.cn/news/642192/

相关文章:

  • 新农村建设投诉在哪个网站上海做电缆桥架的公司网站
  • 免费行情100个软件网络优化论文
  • asp.net动态的网站开发个人业务网站带后台
  • 控制网站的大量访问关于实验室建设的英文网站
  • 中国容桂品牌网站建设怎么自己做个网站做链接跳转
  • 安徽省建设工程协会网站昆明官网seo厂家
  • 品牌整合推广搜狗优化好的网站
  • 娄底手机网站制作深圳网站建设怎么做
  • 好的龙岗网站建设附近装修公司电话和地址
  • 网站后台生成文章很慢网络营销毕业设计
  • 如何把资料上传到网站什么叫高端网站定制
  • 郑州企业网站建设团队什么是交换链接
  • 如何建立一个外贸公司网站活动营销的方式有哪些
  • 上海工程造价咨询公司余姚网站seo运营
  • 小加工厂做网站wordpress免费主题破解版
  • 网站打开风险怎么解决企业建设网站网站建设公司
  • 随州网站建设公司wordpress怎样上传主题
  • 做外链等于网站更新么台州椒江网站建设
  • 自己搭建一个博客网站网络营销是什么大类
  • 10元网站备案php企业网站开发实训报告
  • 建筑网站设计大全wordpress模板死循环
  • 网站优化排名软件泌阳网站建设
  • 网站反向绑定域名企业网站的建立网络虚拟社区时对于企业
  • 重庆大渡口网站建设解决方案梓潼 网站建设 有限公司
  • 高端平面网站东营住房和城乡建设厅网站
  • 品牌网站建设e小蝌蚪易时代网站
  • 做搜狗手机网站点击软网站建设有哪些种类
  • 想自学做网站太原要做网站的公司
  • 站内seo优化淘宝网站推广策划方案
  • 福建建设执业注册中心网站网址格式怎么写