美橙建站五站合一软件网络营销公司赚钱吗

diannao/2026/1/20 5:38:54/文章来源:
美橙建站五站合一软件,网络营销公司赚钱吗,河南企业网站排名优化,网络规划师多少分合格课程链接 目录 相关介绍什么是ECMA什么是ECMAScript为什么学习ES6 letconst变量解构赋值模板字符串对象简化写法箭头函数函数参数的默认值rest参数扩展运算符Symbol迭代器生成器函数与调用Promise介绍与基本用法Promise封装读取文件Promise.prototype...then方法Promise.catch…课程链接 目录 相关介绍什么是ECMA什么是ECMAScript为什么学习ES6 letconst变量解构赋值模板字符串对象简化写法箭头函数函数参数的默认值rest参数扩展运算符Symbol迭代器生成器函数与调用Promise介绍与基本用法Promise封装读取文件Promise.prototype...then方法Promise.catch方法 SetMapclass类介绍与初体验静态成员类的继承重写get和set ES6的数值扩展对象方法扩展模块化引入NPM包 相关介绍 什么是ECMA 中文名称是欧洲计算机制造商协会这个组织的目标是评估、开发和认可电信和计算机标准。 什么是ECMAScript 是Ecma通过ECMA-262标准化的脚本程序设计语言 为什么学习ES6 ES6的版本变动内容最多具有里程碑意义ES6加入许多新的语法特性变成实现更简单ES6是前端发展趋势就业必备技能 let 声明变量 // 声明变量 let a; let b,c; let e 100; let f 100, g 200,h [];变量不能重复声明块级作用域 只在代码块里有效不存在变量提升 console.log(name); // undefined var name qiu;console.log(name); // 报错 let name qiu;不影响作用域链 const 声明常量 // 声明常量 const AGE 18; console.log(AGE);一定要赋初始值一般常量使用大写常量值不能修改块级作用域对于数组和对象的元素修改不算做对常量的修改不会报错引用地址并没有变 变量解构赋值 允许直接从数组和对象中提取值并赋值 数组的解构 const hobby [吃,喝,玩,乐]; let [h1,h2,h3,h4] hobby; console.log(h1); //吃 console.log(h2); //喝 console.log(h3); //玩 console.log(h4); //乐对象的解构 const person {name: Peter,age: 12,sleep(){console.log(zzzzzzzz);} } let {name, age, sleep} person;模板字符串 声明 // 模板字符串 let str 模板字符串内容中可以直接出现换行符 let str2 ulli苹果lili香蕉liul;变量拼接 const fruits [苹果,香蕉,橘子,梨]; let str3 我喜欢吃${fruits[2]};对象简化写法 // 对象简化写法 let name lisa; let sex 1; const student {name,sex }箭头函数 // 箭头函数let fn (a,b) {return a b;}特性 this是静态的this始终指向函数声明时所在作用域下的this值 没有自己的this指向外部this let getName (){console.log(this.name); } function getName2() {console.log(this.name); } window.name window; const school {name:TUST, }getName(); //window getName2(); //window getName.call(school); //window getName2.call(school); //TUST不能作为构造函数实例化对象不能使用arguments变量箭头函数的简写 1当形参有且只有一个的时候可以省略小括号 let add n {return n 1; }2当代码题只有一条语句的时候可以省略花括号 此时return也必须省略且语句的执行结果就是函数的返回值 let add n n 1;函数参数的默认值 一般把有初始值的形参放到最后 // 允许给函数参数赋值初始值 function add(a,b,c 10) {return a b c; } add(1,3); //14与结构赋值结合使用 // 结合结构赋值使用 functionconnect({host, username, pass, port3306}) {console.log(host, username, pass, port); } connectInfo {host: localhost,username: root,pass: root,port: 8080 } connect(connectInfo);rest参数 用于获取函数的实参同来代替arguments 与arguments不同的是arguments是对象rest是数组 有多个rest参数必须放到最后function date(a,b,...args){} function date(...args){console.log(args); // [苹果, 香蕉, 橘子, 梨] } date(苹果,香蕉,橘子,梨);扩展运算符 将数组转换为逗号分隔的参数序列 const fruits [苹果, 香蕉, 橘子, 梨]; date(...fruits); // 等同于date(苹果,香蕉,橘子,梨);Symbol Symbol特点 Symbol的值是唯一的用来解决命名冲突的问题Symbol值不能与其他数据进行运算Symbol定义的对象属性不能使用for…in循环遍历但是可以使用Reflect.ownKeys来获取对象的所有键名 let s Symbol(); console.log(s,typeof s); //Symbol() symbol迭代器 工作原理 创建一个指针对象指向当前数据结构的起始位置第一次调用对象的next方法指针自动指向数据结构的第一个成员接下来不断调用next方法指针一直往后移动直到指向最有一个成员每调用next方法返回一个包含value和done属性的对象 注需要自定义遍历数据的时候要想到迭代器 原生具备iterator接口的数据可用for of 遍历 Arrary、Arguments、Set、Map、String、TypedArray、NodeList const fruits [苹果, 香蕉, 橘子, 梨];let iterator fruits[Symbol.iterator](); //获取迭代器对象 console.log(iterator.next()); //{value: 苹果, done: false} console.log(iterator.next()); //{value: 香蕉, done: false} console.log(iterator.next()); //{value: 橘子, done: false} console.log(iterator.next()); //{value: 梨, done: false} console.log(iterator.next()); //{value: undefined, done: true}生成器函数与调用 生成器其实就是一个特殊的函数 function * gen(){console.log(Hello generator);yield abcdefg; //可以看成函数分隔符//-----------------------------------------console.log(How are you);yield hijklmn;//-----------------------------------------console.log(I am fine. Thank you!);let str yield opqrst;//-----------------------------------------console.log(str); } let iterator gen(); // console.log(iterator); //gen {suspended} iterator.next(); //Hello generator console.log(iterator.next()); //How are you {value: hijklmn, done: false} iterator.next(); //I am fine. Thank you! iterator.next(Bye bye); //Bye byePromise 介绍与基本用法 const p new Promise(function(resolve, reject){setTimeout(function(){// 成功情况// let data 数据库中数据;// resolve(data); //执行成功回调// 失败情况let msg 网络连接失败;reject(msg); //执行失败回调},1000) })// 调用Promise对象的then方法a p.then(function(data){console.log(成功回调,data); },function(error){console.log(失败回调。。。。。,error); })Promise封装读取文件 const fs require(fs);const p new Promise(function(resolve, reject){fs.readFile(./resources/readme.txt,(err,data) {// 如果失败则执行错误回调if (err) reject(err);// 如果成功则执行成功回调resolve(data);}); })p.then(function(value){console.log(data.toString()); },function(reason) {console.log(获取失败,reason); })Promise.prototype…then方法 之前的例子 const p new Promise(function(resolve, reject){setTimeout(function(){// 成功情况// let data 数据库中数据;// resolve(data); //执行成功回调// 失败情况let msg 网络连接失败;reject(msg); //执行失败回调},1000) })// 调用Promise对象的then方法 p.then(function(data){console.log(成功回调,data); },function(error){console.log(失败回调。。。。。,error); })p.then方法返回的是一个Promise对象对象中有两个是一个是PromiseState一个是PromiseResult 这两个属性根据回调内容不同而不同 // 调用Promise对象的then方法 let pThen p.then(function(data){console.log(成功回调,data);// 1. 返回非Promise类型值,PromiseState为fulfilledPromiseResult为undefined// return data;// 2. 返回非Promise类型值,PromiseState为该Promise的成功或失败结果PromiseResult为结果参数// return new Promise(function(resolve,reject){// resolve(123)// })// 3. 抛出错误PromiseState为rejected,PromiseResult为抛出的错误throw err; },function(error){console.log(失败回调。。。。。,error); }) console.log(pThen);比如此时结果就如下 可以通过在then中返回Promise进行链式调用杜绝回调地狱问题 Promise.catch方法 就相当于then方法不写第一个回调 p.catch(function(reason) {console.warn(reson); })Set 自动去重 // Set let s new Set([苹果,香蕉,橘子,梨,橘子]); console.log(s); //Set(4) {苹果, 香蕉, 橘子, 梨} // 元素格式 s.size; // 添加元素 s.add(葡萄); // 删除元素 s.delete(橘子); // 检测 s.has(西瓜); // 清空 s.clear(); // 循环 实现了iterator迭代器接口可以用forof for (const iterator of s) {console.log(iterator); }Map 键值对集合 // Map let m new Map(); // 添加元素 m.set(name,qiu); m.set({name:qiu},{obj:null}); // 键值对个数 m.size; // 获取 m.get(name); // 删除 m.delete(name); // 清空 m.clear(); // 遍历 实现了iterator接口 for (const iterator of m) {console.log(m); }class类 介绍与初体验 对比一下ES5和ES6创建实例对象 // class // ES5 function Phone(brand, price){this.brand brand;this.price price; } // 通过原型对象添加方法 Phone.prototype.open function(){console.log(dangdangdangdang~); } // 实例化对象 let Huawei new Phone(华为,5999);// ES6 class Phone {// 构造方法 名字不能修改constructor(brand, price){this.brand brand;this.price price;}// 方法 不能使用open: function(){}形式open(){console.log(dangdangdangdang~);}} let Vivo new Phone(Vivo,3999);静态成员 属于类的属性不属于实例对象 class Phone {// 静态成员static classify 数码设备; }类的继承 ES5中的构造函数继承父级就不写了和上面一样 // ES5 function AIPhone(brand, price, color, os) {Phone.call(this,brand,price);this.color color;this.os os; } // 设置子级构造函数的原型 AIPhone.prototype new Phone; AIPhone.prototype.constructor AIPhone;ES6中类的继承 // ES6 class AIPhone extends Phone {constructor(brand, price, color, os) {super(brand,price); //父类构造函数this.color color;this.os os; } }重写 重写同名方法当重写方法中不允许调用父类方法只能直接覆盖 get和set class Phone {// 构造方法 名字不能修改constructor(brand, price){this.brand brand;this.price price;}get color() {console.log(读取了color属性);return 黑色;}set color(newVal) {console.log(修改了color属性);// this.color newVal;} } let vivoS9 new Phone(Vivo,3999); console.log(vivoS9.color); vivoS9.color 白色; console.log(vivoS9.color);ES6的数值扩展 Number.EPSILON是js表示的最小精度二进制和八进制二进制0bxxx 八进制0oxxx 十进制xxx 十六进制0xxxxNumber.isFinite检测是否为有限数Number.isNaN检测数值是否为NaNNumber.parseInt和Number.parseFloat字符串转为数字(整数/浮点数)Number.isInteger判断是否为整数Math.trunc将数字的小数部分抹掉Math.sign判断一个数到底为正数(1)、负数(-1)还是零(0) 对象方法扩展 Object.is 判断两个值是否完全相等(与的区别 NaNNaN为false)Object.assign 两个对象的合并(相同的覆盖不同的保留)Object.setPrototypeOf设置原型对象 Object.getPrototypeOf获取原型对象 不建议使用 模块化 将大文件拆分为多个小文件再组合 优点 防止命名冲突代码复用高维护性 主要有两个命令构成export暴露和import引用 //test.js // 分别暴露 export let school TUST; export let add TJ;//统一暴露 let school TUST let add TJ export {school, add}// 默认暴露 export default {school: TUST,add: TJ }//study.html //script typemodule //通用引入方式 import * as text from ./text.js;// 解构赋值形式 import {school, add as address} from ./text.js; //分别暴露 重名用as取别名 import {default as text} from ./text.js; //统一暴露 必须取别名// 简便形式 只能对应默认暴露 import text from ./text.js;还可以直接在标签上引用 (应该是vue中拆分出js文件)一般不这么直接引会有兼容问题 script src./text.js typemodule在项目中一般是需要使用工具将代码进行转换并打包再通过标签引用来实现模块化 引入NPM包 通过npm i xxx命令安装通过import 变量名 from 包名;引入

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/90065.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

效果图设计师有前景吗谷歌seo关键词优化

概览 云在远方,管理在您手中。在这个移动为先 云为先的世界,服务不再是基于请求才提供,而是主动来到身边方便您的模式了。我们最近将会陆续推出几大移动端利器帮助您随时随地管理您的云服务。 首批利器之中排名第一当属Azure云助手应用, 它是…

做公司网站,哪个程序用的多怎么做网站聊天视频直播

作者 | 王磊来源 | Java中文社群(ID:javacn666)转载请联系授权(微信ID:GG_Stone)在我们日常工作中,时间格式化是一件经常遇到的事儿,所以本文我们就来盘点一下 Spring Boot 中时间格…

网站代做多少钱免费的wordpress主机

答:1、进入控制面板,选择“卸载或更改程序”。 2、选中“AutoCAD2006”图标。 3、右击选择“更改”。 4、进入“AutoCAD2006安装程序对话框”,选择“添加/删除功能”单选按钮,点击下一步。 5、在“程序文件”列表中,选…

各网站提交入口温州比较好的设计公司

人工智能技术的进步,在不断的革新我们的工作和生活,同时,拥有人工智能技术的语音智能客服机器人在销售行业的工作熟悉程度也越来越好,那语音智能客服机器人有什么优势?我们一起来看看。 1、ASR语音文本转换 客户可通过…

.net网站吃内存wordpress关联微信

今天因工作需要写了个小程序,用于在图片集中自动抽取需要的照片。该程序只是实现了基本功能,还有很多需要完善的地方,展示出来算是给自己鼓鼓气吧。该程序应用有一定特殊条件,因我选择的图片集是工业生产过程中自动拍摄生成的&…

旅游类网站建设的结论网站正在建设中 英语

1先找一套相同cpu的虚拟机下载rpm 2 如果新的虚拟机没有yum源就替换 修改yum源-CSDN博客 1.2使用wget下载yum源配置文件 (1)备份本地yum源配置文件 备份命令: mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak(2)下载yum源配置文…

注册域名哪个网站好怎么在百度做原创视频网站

关注小夕并星标,解锁自然语言处理搜索、推荐与算法岗求职秘籍文 | 苏剑林(追一科技,人称苏神)美 | 人美心细小谨思密达前言这篇文章简单介绍一个叫做AdaX的优化器,来自《AdaX: Adaptive Gradient Descent with Exponen…

淘客网站 wordpresserp系统的优点

2月21日,全球多媒体巨头Adobe在官网宣布,推出生成式AI助手AI Assistant,并将其集成在Reader 和Acrobat 两款PDF阅读器中。 据悉,AI Assistant的功能与ChatGPT相似,可以基于PDF文档提供摘要、核心见解、基于文档内容&a…

网站建设的难点南宁比较有好的网站制作公司

用Dos的copy命令实现: copy a.jsb.jsc.js abc.js /b 将 a.js b.js c.js 合并为一个 abc.js,最后的 /b 表示文件为二进位文件,copy 命令的其它参数可以在 cmd 里输入 copy /? 学习 举例:如果想要合并多个js文件到某个目录下&#…

站长工具seo优化IT科技资讯新闻类织梦网站模板

为什么要在Redis存数据 Redis 用来实现应用和数据库之间读操作的缓存层,主要目的是减少数据 库 IO,还可以提升数据的 IO 性能。 因为Redis基于内存, 查询效率比MySQL快很多, 所以有限查询Redis中的数据,如果Redis没有就查询数据库然后同步到Redis 出…

汕头建立网页公司淘宝客seo推广教程

题意 题目链接 Sol 直接在线段树上二分 当左右儿子中的一个不是\(x\)的倍数就继续递归 由于最多递归到一个叶子节点,所以复杂度是对的 开始时在纠结如果一段区间全是\(x\)的两倍是不是需要特判,实际上是不需要的。 可以这么想,如果能成功的话…

做微信小程序是不是不用做网站网站文章优化怎么做

美赛思路已更新,关注后可以获取更多思路。并且领取资料 C题思路 首先,我们要理解势头是什么。简单来说,势头是一方在比赛中因一系列事件而获得的动力或优势。在网球中,这可能意味着连续赢得几个球,或是在比赛的某个关…

软件网站技术开发公司标准网站建设费用

JAVA中Object类的toString()方法,objecttostringtoStringpublic String toString()返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。Objec…

网站开发图片存哪里互联网保险销售

参考:https://www.runoob.com/w3cnote/c-assert.html 目录作用总结与注意事项Demo作用 assert 是个宏,并且作用并非"报错"。 assert() 的用法像是一种"契约式编程",程序满足我的假设条件,才能正常良好的运作…

PHP网站开发简单实例施工企业资质类别

下面的代码,照着复制就能跑起来 今天看了下Spring的Configuration,即java类配置bean,(这个spring3的新功能,虽然现在已经spring5了,但是这种配置bean的方式也是比较火的) 做了如下测试,发现一个…

杭州网站建设公司联系方式it外包公司联系电话

首先解释一下什么是Session,如果你不知道的话。当一个访问者来到你的网站的时候一个Session就开始了,当他离开的时候Session 就结束了。本质是来说,cookie是和浏览器有关系,而Session变量就可以存一些资源变量在服务器上面。PHP4用文件存储Session变量, 但理论上可以用数据库或…

企业站群cms免费服务器空间申请

1.在项目中,服务之间的调用是怎么实现的? 1.1基于RestTemplate和LoadBalanced注解: RestTemplate是Spring提供的用于访问RESTful服务的客户端。添加LoadBalanced注解后,RestTemplate会成为一个负载均衡的HTTP客户端,它…

wordpress 自助建站建设哪里有

本文主要简单讲述了如何使用php实现简单的用户登陆以及登陆验证效果。1、首先实现通过Session实现用户的登录那么什么是session呢?session被译为会话,它主要是为了在一定访问期间在不同页面之间间传输数据,用来解决http协议无状态。session在…

乌海建设局网站php网站后台模板

1.关于XSS(跨站脚本攻击)和CSRF(跨站请求伪造)的知识,xss表示Cross Site Scripting(跨站脚本攻击),它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除…