H5、C3及ES6新增特性。

淩亂°似流年 2023-02-23 08:41 95阅读 0赞

H5新标签:
headerfooternavarticlesectiondatalistinput里定义list=iddatalist定义id),asidefieldset(加legend标签),video(ogg,mp4,webm),audio(ogg,mp3,wav)。
canvasmenufigure
inputtype值:
emailtelurlnumbersearchrange(滑块),timedatedatetimemonthweek
新属性:
placeholderautofocus,multiple(可多选文件),autocomplete(必须加Name值),required(必填项),accesskey(加一个键盘字母定光标)。
H5删除标签:
frame,center,big,b,font。

CSS3新特性。
animationtransitiontransform
圆角:border-radius添加圆角边框。
阴影:box-shadowinset内阴影。
渐变:线性(bgm-gradient(linear,左上到右上));径向(bgm-gradient(radial,圆到圆))
盒子模型:box-sizing:content-boxborder-box。webkit兼容。

ES6常用新特性。

let定义局部对象,const定义常量,原先var可以重复声明且无法限制修改,且是函数级变量。
② 函数参数扩展(a,b,...args)...还可以展开数组:...arr2let a = [...b,...c];合并数组。
③箭头操作符用于简化函数的写法,操作符左边为参数,右边为具体操作和返回值。可以直接调用父级this。箭头函数的this永远指向windows。
④ 结构赋值:左右结构必须一致,声明和赋值let b =[a,b,c] = [12,5,8];
⑤数组新增方法:map,reduce,filter,forEach
Ⅰ,map:映射,一个对一个。
Ⅱ,reduce,汇总,一堆出一个。
arr.reducet((tmp,item,index)=>{ //tmp为前面相加的结果 return tmp + item; })
Ⅲ,filter,过滤器。
arr.filter(item=>{ //返回false的项不显示 return item%3==0 });
Ⅳ,forEach,迭代。
arr.forEach((item,index)=>{//相当于for循环})
⑥字符串模板:`` ,连接非常方便,你懂的,Json的值必须用双引号,key必须加双引号。
⑦延展操作符:通过它可以将数组作为参数直接传入函数:
⑧为了统一集合类型,ES6标准引入了新的iterable类型,Array、Map和Set都属于iterable类型,具有iterable类型的集合可以通过新的for … of循环来遍历。

ES6面向对象概念
① 新增类class User{},可定义构造函数,方法无需用function,直接clickBtn(){}
②继承extends,使用:class VipUser extends User{},在构造器中执行父类super()

  1. class VipUser extends User{
  2. constructor(name,pass,level){ //...args
  3. super(name,pass); //...args
  4. this.level=level;
  5. }}

异步:可同时进行多个操作;同步:同时只能做一件事。
Promise:用同步方式,写异步代码,定义及使用:

  1. function createPromise(url){
  2. return new Promise(resolve,reject){
  3. //异步代码,resolve成功,reject失败。
  4. $ajax({
  5. url:url,
  6. success(arr){
  7. resolve(arr)
  8. }})
  9. }}
  10. Promise.all([
  11. createPromise('data/arr.txt'),
  12. createPromise('data/arr.txt'),
  13. ]).then(function(arr){
  14. //成功
  15. },function(arr){
  16. //失败
  17. })

进一步简化:

  1. Promise.all([
  2. $.ajax({ url:url,dataType:'json'}),
  3. $.ajax({ url:url,dataType:'json'})
  4. ]).then(function(result){
  5. let [arr,json] = result; //此处arr和jsobn分别来自上面ajax的结果
  6. //成功
  7. },function(arr){
  8. //失败
  9. })

generator生成器:
①可以让函数在运行过程中停止。
function *show(){ yield ajax(xxx) },yield暂停,*表明函数是生成器。
③走走停停,自行操控,let genObj = show(); 继续:genObj.next();
④yield可传参可返回,第二个next给yield传参,传前面的参数用show(n,m),最后的next可获取show函数return 的值。

发表评论

表情:
评论列表 (有 0 条评论,95人围观)

还没有评论,来说两句吧...

相关阅读