1、ES6的概述
小结:
ECMAScript是前端js的语法规范;可以应用在各种js环境中。如:浏览器或者node.js环境。 它有很多版本:es1/2/3/5/6,很多新特性,可以在js环境中使用这些新特性。
2、ES6的语法:let和const命令
变量和常量的严格区分。
核心代码:
新建espro6\demo01.html
如下
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#981a1a"><!</span><span style="color:#000000">DOCTYPE</span> <span style="color:#000000">html</span><span style="color:#981a1a">></span>
<span style="color:#981a1a"><</span><span style="color:#000000">html</span> <span style="color:#000000">lang</span><span style="color:#981a1a">=</span><span style="color:#aa1111">"en"</span><span style="color:#981a1a">></span>
<span style="color:#981a1a"><</span><span style="color:#000000">head</span><span style="color:#981a1a">></span>
<span style="color:#981a1a"><</span><span style="color:#000000">Meta</span> <span style="color:#000000">charset</span><span style="color:#981a1a">=</span><span style="color:#aa1111">"UTF-8"</span><span style="color:#981a1a">></span>
<span style="color:#981a1a"><</span><span style="color:#000000">Meta</span> <span style="color:#000000">name</span><span style="color:#981a1a">=</span><span style="color:#aa1111">"viewport"</span> <span style="color:#000000">content</span><span style="color:#981a1a">=</span><span style="color:#aa1111">"width=device-width, initial-scale=1.0"</span><span style="color:#981a1a">></span>
<span style="color:#981a1a"><</span><span style="color:#000000">Meta</span> <span style="color:#000000">http</span><span style="color:#981a1a">-</span><span style="color:#000000">equiv</span><span style="color:#981a1a">=</span><span style="color:#aa1111">"X-UA-Compatible"</span> <span style="color:#000000">content</span><span style="color:#981a1a">=</span><span style="color:#aa1111">"ie=edge"</span><span style="color:#981a1a">></span>
<span style="color:#981a1a"><</span><span style="color:#000000">title</span><span style="color:#981a1a">></span><span style="color:#000000">Document</span><span style="color:#981a1a"><</span><span style="color:#ff5500">/title></span>
<span style="color:#981a1a"><</span><span style="color:#ff5500">/head></span>
<span style="color:#981a1a"><</span><span style="color:#000000">body</span><span style="color:#981a1a">></span>
<span style="color:#981a1a"><</span><span style="color:#000000">script</span><span style="color:#981a1a">></span>
<span style="color:#aa5500">// 1: 在javascrit定义数据类型只有一种标识 - var</span>
<span style="color:#aa5500">// 灵活拷问:js有数据类型吗?</span>
<span style="color:#aa5500">// 有,string,number,Object, boolean, undefined</span>
<span style="color:#aa5500">// 什么是语言:电脑内存中,人通过代码和电脑沟通。</span>
<span style="color:#770088">let</span> <span style="color:#000000">name</span> <span style="color:#981a1a">=</span> <span style="color:#aa1111">"zhangsan"</span>;
<span style="color:#770088">let</span> <span style="color:#0000ff">age</span> <span style="color:#981a1a">=</span> <span style="color:#116644">100</span>;
<span style="color:#770088">let</span> <span style="color:#0000ff">flag</span> <span style="color:#981a1a">=</span> <span style="color:#221199">false</span>;
<span style="color:#aa5500">//js被骂没常量</span>
<span style="color:#770088">const</span> <span style="color:#0000ff">PI</span> <span style="color:#981a1a">=</span> <span style="color:#000000">Math</span>.<span style="color:#000000">PI</span>;
<span style="color:#aa5500">// 修改会报错</span>
<span style="color:#aa5500">//PI = 1245;</span>
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#000000">PI</span>)
<span style="color:#aa5500">//var或造成变量穿透 也就是循环中的变量作用域外可以用</span>
<span style="color:#770088">for</span>(<span style="color:#770088">let</span> <span style="color:#0000ff">i</span><span style="color:#981a1a">=</span><span style="color:#116644">0</span>;<span style="color:#000000">i</span><span style="color:#981a1a"><</span><span style="color:#116644">5</span>;<span style="color:#000000">i</span><span style="color:#981a1a">++</span>){
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#000000">i</span>);
};
<span style="color:#aa5500">//console.log("===这里就是变量穿透===>" + i) 如果用var定义i可以打印出5</span>
<span style="color:#981a1a"><</span><span style="color:#ff5500">/script></span>
<span style="color:#981a1a"><</span><span style="color:#ff5500">/body></span>
<span style="color:#981a1a"><</span><span style="color:#ff5500">/html></span></span></span>
在实际的开发和生产中,如果是小程序,uniapp或者一些脚手架中的,可以大胆的使用let和const
如果是web开发.建议使用var, 因为在一些低版本的浏览器还是不支持let和const
3、ES6的语法:模板字符串
以前: 我们都是使用 ‘’ 或者 “” 来把字符串套起来
现在: `` 【反引号】
第一个用途:基本的字符串格式化。将表达式嵌入字符串中进行拼接。用${}来界定。
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#aa5500">//es5 </span>
<span style="color:#770088">let</span> <span style="color:#0000ff">name</span> <span style="color:#981a1a">=</span> <span style="color:#aa1111">'itcast'</span>
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#aa1111">'hello '</span> <span style="color:#981a1a">+</span> <span style="color:#000000">name</span>) <span style="color:#aa5500">//es6 </span>
<span style="color:#770088">const</span> <span style="color:#0000ff">name</span> <span style="color:#981a1a">=</span> <span style="color:#aa1111">'itcast'</span>
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#ff5500">`hello ${</span><span style="color:#000000">name</span><span style="color:#ff5500">}`</span>) <span style="color:#aa5500">//hello itcast</span></span></span>
第二个用途:在ES5时我们通过反斜杠()来做多行字符串或者字符串一行行拼接。ES6反引号(``)直接搞定。
-
新建一个
espro6\demo02.html
如下:
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#981a1a"><!</span><span style="color:#000000">DOCTYPE</span> <span style="color:#000000">html</span><span style="color:#981a1a">></span>
<span style="color:#981a1a"><</span><span style="color:#000000">html</span> <span style="color:#000000">lang</span><span style="color:#981a1a">=</span><span style="color:#aa1111">"en"</span><span style="color:#981a1a">></span>
<span style="color:#981a1a"><</span><span style="color:#000000">head</span><span style="color:#981a1a">></span>
<span style="color:#981a1a"><</span><span style="color:#000000">Meta</span> <span style="color:#000000">charset</span><span style="color:#981a1a">=</span><span style="color:#aa1111">"UTF-8"</span><span style="color:#981a1a">></span>
<span style="color:#981a1a"><</span><span style="color:#000000">Meta</span> <span style="color:#000000">name</span><span style="color:#981a1a">=</span><span style="color:#aa1111">"viewport"</span> <span style="color:#000000">content</span><span style="color:#981a1a">=</span><span style="color:#aa1111">"width=device-width, initial-scale=1.0"</span><span style="color:#981a1a">></span>
<span style="color:#981a1a"><</span><span style="color:#000000">Meta</span> <span style="color:#000000">http</span><span style="color:#981a1a">-</span><span style="color:#000000">equiv</span><span style="color:#981a1a">=</span><span style="color:#aa1111">"X-UA-Compatible"</span> <span style="color:#000000">content</span><span style="color:#981a1a">=</span><span style="color:#aa1111">"ie=edge"</span><span style="color:#981a1a">></span>
<span style="color:#981a1a"><</span><span style="color:#000000">title</span><span style="color:#981a1a">></span><span style="color:#000000">模板字符串</span><span style="color:#981a1a"><</span><span style="color:#ff5500">/title></span>
<span style="color:#981a1a"><</span><span style="color:#ff5500">/head></span>
<span style="color:#981a1a"><</span><span style="color:#000000">body</span><span style="color:#981a1a">></span>
<span style="color:#981a1a"><</span><span style="color:#000000">script</span><span style="color:#981a1a">></span>
<span style="color:#770088">var</span> <span style="color:#000000">username</span> <span style="color:#981a1a">=</span> <span style="color:#aa1111">"张三"</span>;
<span style="color:#770088">var</span> <span style="color:#0000ff">age</span> <span style="color:#981a1a">=</span> <span style="color:#116644">30</span>;
<span style="color:#aa5500">// 1: 原始的做法就是去拼接字符串</span>
<span style="color:#770088">var</span> <span style="color:#0000ff">str</span> <span style="color:#981a1a">=</span> <span style="color:#aa1111">"我名字叫 "</span> <span style="color:#981a1a">+</span> <span style="color:#000000">username</span><span style="color:#981a1a">+</span><span style="color:#aa1111">",年龄是: "</span><span style="color:#981a1a">+</span><span style="color:#000000">age</span>;
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#000000">str</span>);
<span style="color:#aa5500">// 2:用模板字符串来拯救 注意:这里是 `(飘键) (tab键盘的上面那个键)</span>
<span style="color:#aa5500">// jdk1.9 </span>
<span style="color:#770088">var</span> <span style="color:#0000ff">str2</span> <span style="color:#981a1a">=</span> <span style="color:#ff5500">`我名字叫 ${</span><span style="color:#000000">username</span><span style="color:#ff5500">},年龄是: ${</span><span style="color:#000000">age</span><span style="color:#ff5500">}`</span>;
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#000000">str2</span>);
<span style="color:#981a1a"><</span><span style="color:#ff5500">/script></span>
<span style="color:#981a1a"><</span><span style="color:#ff5500">/body></span>
<span style="color:#981a1a"><</span><span style="color:#ff5500">/html></span></span></span>
4、ES6的语法:函数默认参数与箭头函数
函数默认参数 在方法的参数后面加上一个默认值即可 核心代码 双击espro6/demo03.html
运行如下:
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#981a1a"><!</span><span style="color:#000000">DOCTYPE</span> <span style="color:#000000">html</span><span style="color:#981a1a">></span>
<span style="color:#981a1a"><</span><span style="color:#000000">html</span> <span style="color:#000000">lang</span><span style="color:#981a1a">=</span><span style="color:#aa1111">"en"</span><span style="color:#981a1a">></span>
<span style="color:#981a1a"><</span><span style="color:#000000">head</span><span style="color:#981a1a">></span>
<span style="color:#981a1a"><</span><span style="color:#000000">Meta</span> <span style="color:#000000">charset</span><span style="color:#981a1a">=</span><span style="color:#aa1111">"UTF-8"</span><span style="color:#981a1a">></span>
<span style="color:#981a1a"><</span><span style="color:#000000">Meta</span> <span style="color:#000000">name</span><span style="color:#981a1a">=</span><span style="color:#aa1111">"viewport"</span> <span style="color:#000000">content</span><span style="color:#981a1a">=</span><span style="color:#aa1111">"width=device-width, initial-scale=1.0"</span><span style="color:#981a1a">></span>
<span style="color:#981a1a"><</span><span style="color:#000000">Meta</span> <span style="color:#000000">http</span><span style="color:#981a1a">-</span><span style="color:#000000">equiv</span><span style="color:#981a1a">=</span><span style="color:#aa1111">"X-UA-Compatible"</span> <span style="color:#000000">content</span><span style="color:#981a1a">=</span><span style="color:#aa1111">"ie=edge"</span><span style="color:#981a1a">></span>
<span style="color:#981a1a"><</span><span style="color:#000000">title</span><span style="color:#981a1a">></span><span style="color:#000000">Document</span><span style="color:#981a1a"><</span><span style="color:#ff5500">/title></span>
<span style="color:#981a1a"><</span><span style="color:#ff5500">/head></span>
<span style="color:#981a1a"><</span><span style="color:#000000">body</span><span style="color:#981a1a">></span>
<span style="color:#981a1a"><</span><span style="color:#000000">script</span><span style="color:#981a1a">></span>
<span style="color:#aa5500">// 默认参数 给参数列表设定初始值</span>
<span style="color:#770088">function</span> <span style="color:#0000ff">add</span>(<span style="color:#0000ff">a</span> <span style="color:#981a1a">=</span><span style="color:#116644">100</span>,<span style="color:#0000ff">b</span><span style="color:#981a1a">=</span><span style="color:#116644">100</span>) {
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#0055aa">a</span>,<span style="color:#0055aa">b</span>);
}
<span style="color:#aa5500">// 执行方法,会用默认值填充,打印出来100,200</span>
<span style="color:#000000">add</span>();
<span style="color:#aa5500">// 覆盖默认值打印 结果是1,2 </span>
<span style="color:#000000">add</span>(<span style="color:#116644">1</span>,<span style="color:#116644">2</span>);
<span style="color:#981a1a"><</span><span style="color:#ff5500">/script></span>
<span style="color:#981a1a"><</span><span style="color:#ff5500">/body></span>
<span style="color:#981a1a"><</span><span style="color:#ff5500">/html></span></span></span>
==箭头函数==
箭头函数简化函数的定义,可以让我们不用使用function关键字
<span style="background-color:#f8f8f8"><span style="color:#333333">/*
箭头函数最直观的三个特点。
1不需要function关键字来创建函数,在括号后面加箭头
2省略return关键字,(如果里面是逻辑体,就不能省略) 去掉return的同时去掉{}
3继承当前上下文的 this 关键字
4.如果参数只有一个,可以把()也省去
*/</span></span>
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#770088">var</span> <span style="color:#0000ff">arr</span> <span style="color:#981a1a">=</span> [<span style="color:#116644">1</span>,<span style="color:#116644">2</span>,<span style="color:#116644">3</span>,<span style="color:#116644">4</span>,<span style="color:#116644">5</span>] <span style="color:#aa5500">//原型</span>
<span style="color:#770088">var</span> <span style="color:#0000ff">newarr</span> <span style="color:#981a1a">=</span> <span style="color:#000000">arr</span>.<span style="color:#000000">map</span>(<span style="color:#770088">function</span>(<span style="color:#0000ff">obj</span>){
<span style="color:#770088">return</span> <span style="color:#0055aa">obj</span> <span style="color:#981a1a">*</span> <span style="color:#116644">2</span>;
})
<span style="color:#aa5500">//改变</span>
<span style="color:#770088">var</span> <span style="color:#0000ff">newarr</span> <span style="color:#981a1a">=</span> <span style="color:#000000">arr</span>.<span style="color:#000000">map</span>((<span style="color:#0000ff">obj</span>)<span style="color:#981a1a">=></span>{ <span style="color:#aa5500">//去掉function变为=></span>
<span style="color:#770088">return</span> <span style="color:#0055aa">obj</span> <span style="color:#981a1a">*</span> <span style="color:#116644">2</span>;
})
<span style="color:#770088">var</span> <span style="color:#0000ff">newarr</span> <span style="color:#981a1a">=</span> <span style="color:#000000">arr</span>.<span style="color:#000000">map</span>((<span style="color:#0000ff">obj</span>)<span style="color:#981a1a">=></span><span style="color:#0055aa">obj</span> <span style="color:#981a1a">*</span> <span style="color:#116644">2</span>) <span style="color:#aa5500">//去掉return和{}</span>
<span style="color:#770088">var</span> <span style="color:#0000ff">newarr</span> <span style="color:#981a1a">=</span> <span style="color:#000000">arr</span>.<span style="color:#000000">map</span>(<span style="color:#0000ff">obj</span><span style="color:#981a1a">=></span><span style="color:#0055aa">obj</span> <span style="color:#981a1a">*</span> <span style="color:#116644">2</span>) <span style="color:#aa5500">//只有一个参数,去掉()</span></span></span>
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#555555"><!DOCTYPE html></span>
<span style="color:#117700"><</span><span style="color:#117700">html</span> <span style="color:#0000cc">lang</span>=<span style="color:#aa1111">"en"</span><span style="color:#117700">></span>
<span style="color:#117700"><</span><span style="color:#117700">head</span><span style="color:#117700">></span>
<span style="color:#117700"><</span><span style="color:#117700">Meta</span> <span style="color:#0000cc">charset</span>=<span style="color:#aa1111">"UTF-8"</span><span style="color:#117700">></span>
<span style="color:#117700"><</span><span style="color:#117700">Meta</span> <span style="color:#0000cc">name</span>=<span style="color:#aa1111">"viewport"</span> <span style="color:#0000cc">content</span>=<span style="color:#aa1111">"width=device-width, initial-scale=1.0"</span><span style="color:#117700">></span>
<span style="color:#117700"><</span><span style="color:#117700">Meta</span> <span style="color:#0000cc">http-equiv</span>=<span style="color:#aa1111">"X-UA-Compatible"</span> <span style="color:#0000cc">content</span>=<span style="color:#aa1111">"ie=edge"</span><span style="color:#117700">></span>
<span style="color:#117700"><</span><span style="color:#117700">title</span><span style="color:#117700">></span>箭头函数<span style="color:#117700"></</span><span style="color:#117700">title</span><span style="color:#117700">></span>
<span style="color:#117700"></</span><span style="color:#117700">head</span><span style="color:#117700">></span>
<span style="color:#117700"><</span><span style="color:#117700">body</span><span style="color:#117700">></span>
<span style="color:#117700"><</span><span style="color:#117700">script</span><span style="color:#117700">></span>
<span style="color:#aa5500">// 箭头函数</span>
<span style="color:#aa5500">// 它也是一种函数的定义,它简化定义仅此而已。</span>
<span style="color:#aa5500">// 步骤:1:去掉function 2: 括号后面加箭头。</span>
<span style="color:#aa5500">// 1:声明式的定义</span>
<span style="color:#770088">function</span> <span style="color:#0000ff">add</span> (){
};
<span style="color:#aa5500">// 2:表达式的定义</span>
<span style="color:#770088">var</span> <span style="color:#0000ff">add2</span> <span style="color:#981a1a">=</span> <span style="color:#770088">function</span>(){
}
<span style="color:#aa5500">// 3:箭头函数的定义</span>
<span style="color:#770088">var</span> <span style="color:#0000ff">sum</span> <span style="color:#981a1a">=</span> (<span style="color:#0000ff">a</span> <span style="color:#981a1a">=</span> <span style="color:#116644">100</span>,<span style="color:#0000ff">b</span> <span style="color:#981a1a">=</span> <span style="color:#116644">300</span>)<span style="color:#981a1a">=></span>{
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#0055aa">a</span><span style="color:#981a1a">+</span><span style="color:#0055aa">b</span>);
};
<span style="color:#aa5500">// 这里执行箭头函数</span>
<span style="color:#000000">sum</span>(<span style="color:#116644">50</span>,<span style="color:#116644">50</span>);
<span style="color:#aa5500">// 这里执行箭头函数</span>
<span style="color:#000000">sum</span>();
<span style="color:#aa5500">// 这里执行箭头函数</span>
<span style="color:#000000">sum</span>(<span style="color:#116644">400</span>);
<span style="color:#117700"></</span><span style="color:#117700">script</span><span style="color:#117700">></span>
<span style="color:#117700"></</span><span style="color:#117700">body</span><span style="color:#117700">></span>
<span style="color:#117700"></</span><span style="color:#117700">html</span><span style="color:#117700">></span></span></span>
5、ES6的语法:对象初始化简写
核心代码
<span style="background-color:#f8f8f8"><span style="color:#333333"> <span style="color:#981a1a"><</span><span style="color:#000000">script</span><span style="color:#981a1a">></span>
<span style="color:#770088">let</span> <span style="color:#000000">info</span> <span style="color:#981a1a">=</span> {
<span style="color:#000000">title</span>:<span style="color:#aa1111">"前端学习"</span>,
<span style="color:#000000">link</span>:<span style="color:#aa1111">"http://www.kuangstudy.com"</span>,
<span style="color:#000000">go</span>:<span style="color:#770088">function</span>(){
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#aa1111">"我骑着小蓝车去上班!"</span>);
}
};
<span style="color:#aa5500">// ES6简写</span>
<span style="color:#770088">var</span> <span style="color:#0000ff">title</span> <span style="color:#981a1a">=</span> <span style="color:#aa1111">"前端学习"</span>;
<span style="color:#770088">var</span> <span style="color:#0000ff">link</span> <span style="color:#981a1a">=</span> <span style="color:#aa1111">"http://www.kuangstudy.com"</span>
<span style="color:#770088">let</span> <span style="color:#0000ff">info2</span> <span style="color:#981a1a">=</span> {
<span style="color:#000000">title</span>,
<span style="color:#000000">link</span>,
<span style="color:#000000">go</span>(){
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#aa1111">"我骑着小蓝车去上班!"</span>);
}
};
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#000000">info2</span>.<span style="color:#000000">title</span>);
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#000000">info2</span>.<span style="color:#000000">link</span>);
<span style="color:#000000">info2</span>.<span style="color:#000000">go</span>();
<span style="color:#981a1a"><</span><span style="color:#ff5500">/script></span></span></span>
规律: 因为对象是key:value
存在
-
双击
espro6\demo06.html
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#555555"><!DOCTYPE html></span>
<span style="color:#117700"><</span><span style="color:#117700">html</span> <span style="color:#0000cc">lang</span>=<span style="color:#aa1111">"en"</span><span style="color:#117700">></span>
<span style="color:#117700"><</span><span style="color:#117700">head</span><span style="color:#117700">></span>
<span style="color:#117700"><</span><span style="color:#117700">Meta</span> <span style="color:#0000cc">charset</span>=<span style="color:#aa1111">"UTF-8"</span><span style="color:#117700">></span>
<span style="color:#117700"><</span><span style="color:#117700">Meta</span> <span style="color:#0000cc">name</span>=<span style="color:#aa1111">"viewport"</span> <span style="color:#0000cc">content</span>=<span style="color:#aa1111">"width=device-width, initial-scale=1.0"</span><span style="color:#117700">></span>
<span style="color:#117700"><</span><span style="color:#117700">Meta</span> <span style="color:#0000cc">http-equiv</span>=<span style="color:#aa1111">"X-UA-Compatible"</span> <span style="color:#0000cc">content</span>=<span style="color:#aa1111">"ie=edge"</span><span style="color:#117700">></span>
<span style="color:#117700"><</span><span style="color:#117700">title</span><span style="color:#117700">></span>对象简写<span style="color:#117700"></</span><span style="color:#117700">title</span><span style="color:#117700">></span>
<span style="color:#117700"></</span><span style="color:#117700">head</span><span style="color:#117700">></span>
<span style="color:#117700"><</span><span style="color:#117700">body</span><span style="color:#117700">></span>
<span style="color:#117700"><</span><span style="color:#117700">script</span><span style="color:#117700">></span>
<span style="color:#770088">function</span> <span style="color:#0000ff">person</span>(<span style="color:#0000ff">name</span>, <span style="color:#0000ff">age</span>) {
<span style="color:#aa5500">//return {name:name,age:age};</span>
<span style="color:#aa5500">// 对象简写</span>
<span style="color:#770088">return</span> { <span style="color:#000000">name</span>, <span style="color:#000000">age</span> };
};
<span style="color:#aa5500">// 调用和执行</span>
<span style="color:#770088">var</span> <span style="color:#0000ff">json</span> <span style="color:#981a1a">=</span> <span style="color:#000000">person</span>(<span style="color:#aa1111">"小花花美美"</span>, <span style="color:#116644">20</span>);
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#000000">json</span>.<span style="color:#000000">name</span>, <span style="color:#000000">json</span>.<span style="color:#000000">age</span>);
<span style="color:#aa5500">//========================= 实战应用 =========================</span>
<span style="color:#aa5500">//<button onclick="login()">登录</button></span>
<span style="color:#770088">function</span> <span style="color:#0000ff">login</span>() {
<span style="color:#770088">var</span> <span style="color:#0000ff">username</span> <span style="color:#981a1a">=</span> <span style="color:#000000">$</span>(<span style="color:#aa1111">"#username"</span>).<span style="color:#000000">val</span>();
<span style="color:#770088">var</span> <span style="color:#0000ff">password</span> <span style="color:#981a1a">=</span> <span style="color:#000000">$</span>(<span style="color:#aa1111">"#password"</span>).<span style="color:#000000">val</span>();
<span style="color:#aa5500">// 发送ajax</span>
<span style="color:#000000">$</span>.<span style="color:#000000">ajax</span>({
<span style="color:#000000">type</span>: <span style="color:#aa1111">"post"</span>,
<span style="color:#aa5500">// 对象简写</span>
<span style="color:#000000">data</span>: { <span style="color:#000000">username</span>, <span style="color:#000000">password</span> },
<span style="color:#aa5500">// 原始写分</span>
<span style="color:#aa5500">//data:{username:username,password:password},</span>
<span style="color:#000000">success</span>() {
}
});
}
<span style="color:#117700"></</span><span style="color:#117700">script</span><span style="color:#117700">></span>
<span style="color:#117700"></</span><span style="color:#117700">body</span><span style="color:#117700">></span>
<span style="color:#117700"></</span><span style="color:#117700">html</span><span style="color:#117700">></span></span></span>
6. 对象解构
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#981a1a"><</span><span style="color:#000000">script</span><span style="color:#981a1a">></span>
<span style="color:#770088">var</span> <span style="color:#000000">title</span> <span style="color:#981a1a">=</span> <span style="color:#aa1111">"前端学习"</span>;
<span style="color:#770088">var</span> <span style="color:#0000ff">link</span> <span style="color:#981a1a">=</span> <span style="color:#aa1111">"http://www.kuangstudy.com"</span>
<span style="color:#770088">let</span> <span style="color:#0000ff">info2</span> <span style="color:#981a1a">=</span> {
<span style="color:#000000">title</span>,
<span style="color:#000000">link</span>,
<span style="color:#000000">go</span>(){
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#aa1111">"我骑着小蓝车去上班!"</span>);
}
};
<span style="color:#aa5500">// 对象是key:value的存在,获取对象属性和方法的方式有两种</span>
<span style="color:#aa5500">// 方式一:.</span>
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#000000">info2</span>.<span style="color:#000000">title</span>);
<span style="color:#aa5500">// 方式二:["属性或方法"]</span>
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#000000">info2</span>[<span style="color:#aa1111">"link"</span>]);
<span style="color:#000000">info2</span>[<span style="color:#aa1111">"go"</span>]();
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#aa1111">"======================="</span>);
<span style="color:#aa5500">// es6:</span>
<span style="color:#770088">var</span>{<span style="color:#0000ff">title</span>,<span style="color:#0000ff">link</span>,<span style="color:#0000ff">go</span>} <span style="color:#981a1a">=</span> <span style="color:#000000">info2</span>;
<span style="color:#aa5500">// 代码还原</span>
<span style="color:#aa5500">// var title = info2.title;</span>
<span style="color:#aa5500">// var link = info2.link;</span>
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#000000">title</span>,<span style="color:#000000">link</span>);
<span style="color:#000000">go</span>();
<span style="color:#981a1a"><</span><span style="color:#ff5500">/script></span></span></span>
7. 对象传播操作符
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#981a1a"><</span><span style="color:#000000">script</span><span style="color:#981a1a">></span>
<span style="color:#770088">var</span> <span style="color:#000000">person</span> <span style="color:#981a1a">=</span> {
<span style="color:#000000">name</span>:<span style="color:#aa1111">"张三"</span>,
<span style="color:#000000">add</span>:<span style="color:#aa1111">"广东"</span>,
<span style="color:#000000">link</span>:<span style="color:#aa1111">"https://www.kuangstudy.com"</span>,
<span style="color:#000000">tel</span>:<span style="color:#aa1111">"1234567"</span>,
<span style="color:#000000">go</span>(){
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#aa1111">"上班!"</span>);
}
}
<span style="color:#aa5500">// 解构</span>
<span style="color:#770088">var</span> {<span style="color:#0000ff">name</span>,<span style="color:#0000ff">add</span>,<span style="color:#555555">...</span><span style="color:#0000ff">person2</span>} <span style="color:#981a1a">=</span> <span style="color:#000000">person</span>;
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#000000">name</span>);
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#000000">add</span>);
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#000000">person2</span>);
<span style="color:#981a1a"><</span><span style="color:#ff5500">/script></span></span></span>
name和add已经被取出来了,所以剩下的全部给person2
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#555555"><!DOCTYPE html></span>
<span style="color:#117700"><</span><span style="color:#117700">html</span> <span style="color:#0000cc">lang</span>=<span style="color:#aa1111">"en"</span><span style="color:#117700">></span>
<span style="color:#117700"><</span><span style="color:#117700">head</span><span style="color:#117700">></span>
<span style="color:#117700"><</span><span style="color:#117700">Meta</span> <span style="color:#0000cc">charset</span>=<span style="color:#aa1111">"UTF-8"</span><span style="color:#117700">></span>
<span style="color:#117700"><</span><span style="color:#117700">Meta</span> <span style="color:#0000cc">name</span>=<span style="color:#aa1111">"viewport"</span> <span style="color:#0000cc">content</span>=<span style="color:#aa1111">"width=device-width, initial-scale=1.0"</span><span style="color:#117700">></span>
<span style="color:#117700"><</span><span style="color:#117700">Meta</span> <span style="color:#0000cc">http-equiv</span>=<span style="color:#aa1111">"X-UA-Compatible"</span> <span style="color:#0000cc">content</span>=<span style="color:#aa1111">"ie=edge"</span><span style="color:#117700">></span>
<span style="color:#117700"><</span><span style="color:#117700">title</span><span style="color:#117700">></span>ES6的语法:传播操作符【...】<span style="color:#117700"></</span><span style="color:#117700">title</span><span style="color:#117700">></span>
<span style="color:#117700"></</span><span style="color:#117700">head</span><span style="color:#117700">></span>
<span style="color:#117700"><</span><span style="color:#117700">body</span><span style="color:#117700">></span>
<span style="color:#117700"><</span><span style="color:#117700">script</span><span style="color:#117700">></span>
<span style="color:#aa5500">// 1: 定义一个对象</span>
<span style="color:#770088">var</span> <span style="color:#0000ff">person1</span> <span style="color:#981a1a">=</span> {
<span style="color:#000000">name</span>: <span style="color:#aa1111">'小飞飞'</span>,
<span style="color:#000000">age</span>: <span style="color:#116644">16</span>,
};
<span style="color:#aa5500">// 2: 对象解构</span>
<span style="color:#770088">var</span> {<span style="color:#0000ff">name</span>,<span style="color:#0000ff">age</span>} <span style="color:#981a1a">=</span> <span style="color:#000000">person1</span>;
<span style="color:#aa5500">// =========================== ... 对象融合=====================</span>
<span style="color:#770088">var</span> <span style="color:#0000ff">person2</span> <span style="color:#981a1a">=</span> {
<span style="color:#555555">...</span><span style="color:#000000">person1</span>,
<span style="color:#000000">gender</span>:<span style="color:#116644">1</span>,
<span style="color:#000000">tel</span>:<span style="color:#116644">13478900</span>
};
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#000000">person2</span>);
<span style="color:#aa5500">// =========================== ... 对象取值=====================</span>
<span style="color:#aa5500">// ... 对象取值</span>
<span style="color:#770088">var</span> <span style="color:#0000ff">person3</span> <span style="color:#981a1a">=</span> {
<span style="color:#000000">name</span>:<span style="color:#aa1111">"李四"</span>,
<span style="color:#000000">gender</span>:<span style="color:#116644">1</span>,
<span style="color:#000000">tel</span>:<span style="color:#aa1111">"11111"</span>,
<span style="color:#000000">address</span>:<span style="color:#aa1111">'广州'</span>
};
<span style="color:#aa5500">// ...person4 把剩下没取走给我。</span>
<span style="color:#770088">var</span> {<span style="color:#0000ff">name</span>,<span style="color:#0000ff">gender</span>,<span style="color:#555555">...</span><span style="color:#0000ff">person4</span>} <span style="color:#981a1a">=</span> <span style="color:#000000">person3</span>;
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#000000">name</span>)
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#000000">age</span>)
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#000000">person4</span>)
<span style="color:#aa5500">// =================场景分析 -----伪代码========================</span>
<span style="color:#aa5500">// 模拟后台:异步查询返回用户数据 如下:</span>
<span style="color:#770088">function</span> <span style="color:#0000ff">findUsers</span>(){
<span style="color:#000000">$</span>.<span style="color:#000000">get</span>(<span style="color:#aa1111">"xxxxx"</span>,<span style="color:#770088">function</span>(<span style="color:#0000ff">res</span>){
<span style="color:#770088">var</span> <span style="color:#0000ff">res</span> <span style="color:#981a1a">=</span> {
<span style="color:#000000">pages</span>:<span style="color:#116644">11</span>,
<span style="color:#000000">pageSize</span>:<span style="color:#116644">10</span>,
<span style="color:#000000">pageNo</span>:<span style="color:#116644">1</span>,
<span style="color:#000000">firstFlag</span>:<span style="color:#221199">true</span>,
<span style="color:#000000">lastFlag</span>:<span style="color:#221199">false</span>,
<span style="color:#000000">total</span>:<span style="color:#116644">123</span>,
<span style="color:#000000">data</span>:[{},{},{},{}],
};
<span style="color:#aa5500">// ==========================对象 ... 取值===============</span>
<span style="color:#770088">var</span> {<span style="color:#000000">data</span>:<span style="color:#0000ff">users</span>,<span style="color:#555555">...</span><span style="color:#0000ff">pagesjon</span>} <span style="color:#981a1a">=</span> <span style="color:#0055aa">res</span>;
<span style="color:#aa5500">//等价于</span>
<span style="color:#aa5500">/* var users = res.data;</span>
<span style="color:#aa5500"> var pagesjon = {</span>
<span style="color:#aa5500"> res = {</span>
<span style="color:#aa5500"> pages:11,</span>
<span style="color:#aa5500"> pageSize:10,</span>
<span style="color:#aa5500"> pageNo:1,</span>
<span style="color:#aa5500"> firstFlag:true,</span>
<span style="color:#aa5500"> lastFlag:false,</span>
<span style="color:#aa5500"> total:123,</span>
<span style="color:#aa5500"> }; */</span>
})
}
<span style="color:#117700"></</span><span style="color:#117700">script</span><span style="color:#117700">></span>
<span style="color:#117700"></</span><span style="color:#117700">body</span><span style="color:#117700">></span>
<span style="color:#117700"></</span><span style="color:#117700">html</span><span style="color:#117700">></span></span></span>
8、ES6的语法:数组map和reduce方法使用(了解)
map — 自带的循环
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#981a1a"><</span><span style="color:#000000">script</span><span style="color:#981a1a">></span>
<span style="color:#770088">let</span> <span style="color:#000000">arr</span> <span style="color:#981a1a">=</span> [<span style="color:#116644">1</span>,<span style="color:#116644">2</span>,<span style="color:#116644">3</span>,<span style="color:#116644">4</span>,<span style="color:#116644">5</span>,<span style="color:#116644">6</span>,<span style="color:#116644">7</span>];
<span style="color:#aa5500">// 让数组中每一个元素都乘以2</span>
<span style="color:#aa5500">// 传统方式</span>
<span style="color:#770088">let</span> <span style="color:#0000ff">newarr</span> <span style="color:#981a1a">=</span> [];
<span style="color:#770088">for</span>(<span style="color:#770088">let</span> <span style="color:#0000ff">i</span> <span style="color:#981a1a">=</span> <span style="color:#116644">0</span>; <span style="color:#000000">i</span> <span style="color:#981a1a"><</span> <span style="color:#000000">arr</span>.<span style="color:#000000">length</span>; <span style="color:#000000">i</span><span style="color:#981a1a">++</span>){
<span style="color:#000000">newarr</span>.<span style="color:#000000">push</span>(<span style="color:#000000">arr</span>[<span style="color:#000000">i</span>] <span style="color:#981a1a">*</span> <span style="color:#116644">2</span>);
}
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#000000">newarr</span>);
<span style="color:#aa5500">// map -- 自带的循环,并且会把处理的值回填对应的位置</span>
<span style="color:#770088">let</span> <span style="color:#0000ff">arr2</span> <span style="color:#981a1a">=</span> <span style="color:#000000">arr</span>.<span style="color:#000000">map</span>(<span style="color:#770088">function</span>(<span style="color:#0000ff">ele</span>){
<span style="color:#770088">return</span> <span style="color:#0055aa">ele</span> <span style="color:#981a1a">*</span> <span style="color:#116644">2</span>;
});
<span style="color:#aa5500">//使用箭头函数省略形式</span>
<span style="color:#770088">var</span> <span style="color:#0000ff">arr2</span> <span style="color:#981a1a">=</span> <span style="color:#000000">arr</span>.<span style="color:#000000">map</span>(<span style="color:#0000ff">ele</span><span style="color:#981a1a">=></span> <span style="color:#0055aa">ele</span> <span style="color:#981a1a">*</span> <span style="color:#116644">2</span>);
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#000000">arr2</span>);
<span style="color:#aa5500">// map处理对象的数据</span>
<span style="color:#770088">let</span> <span style="color:#0000ff">users</span> <span style="color:#981a1a">=</span> [{<span style="color:#000000">age</span>:<span style="color:#116644">10</span>,<span style="color:#000000">name</span>:<span style="color:#aa1111">"小学"</span>},{<span style="color:#000000">age</span>:<span style="color:#116644">12</span>,<span style="color:#000000">name</span>:<span style="color:#aa1111">"小相"</span>},{<span style="color:#000000">age</span>:<span style="color:#116644">13</span>,<span style="color:#000000">name</span>:<span style="color:#aa1111">"小学"</span>}];
<span style="color:#770088">let</span> <span style="color:#0000ff">newusers</span> <span style="color:#981a1a">=</span> <span style="color:#000000">users</span>.<span style="color:#000000">map</span>(<span style="color:#770088">function</span>(<span style="color:#0000ff">ele</span>){
<span style="color:#aa5500">// 简写:let newusers = users.map(ele => {})</span>
<span style="color:#aa5500">// 过了一年</span>
<span style="color:#0055aa">ele</span>.<span style="color:#000000">age</span><span style="color:#981a1a">++</span>;
<span style="color:#770088">return</span> <span style="color:#0055aa">ele</span>;
});
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#000000">newusers</span>);
<span style="color:#981a1a"><</span><span style="color:#ff5500">/script></span></span></span>
接收一个函数(必须)和一个初始值(可选),该函数接收两个参数: 第一个参数是上一次reduce处理的结果 第二个参数是数组中要处理的下一个元素 reduce() 会从左到右依次把数组中的元素用reduce处理,并把处理的结果作为下次reduce的第一个参数。如果是 第一次,会把前两个元素作为计算参数,或者把用户指定的初始值作为起始参数
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#aa5500">//map --自带循环,并且会把处理的值回填到对应的位置</span>
<span style="color:#981a1a"><</span><span style="color:#000000">script</span><span style="color:#981a1a">></span>
<span style="color:#770088">let</span> <span style="color:#000000">arr</span> <span style="color:#981a1a">=</span> [<span style="color:#116644">1</span>,<span style="color:#116644">2</span>,<span style="color:#116644">3</span>,<span style="color:#116644">4</span>,<span style="color:#116644">5</span>,<span style="color:#116644">6</span>,<span style="color:#116644">7</span>,<span style="color:#116644">8</span>,<span style="color:#116644">9</span>,<span style="color:#116644">10</span>];
<span style="color:#770088">let</span> <span style="color:#0000ff">result</span> <span style="color:#981a1a">=</span> <span style="color:#000000">arr</span>.<span style="color:#000000">reduce</span>(<span style="color:#770088">function</span>(<span style="color:#0000ff">a</span>,<span style="color:#0000ff">b</span>){
<span style="color:#770088">return</span> <span style="color:#0055aa">a</span> <span style="color:#981a1a">+</span> <span style="color:#0055aa">b</span>;
});
<span style="color:#000000">console</span>.<span style="color:#000000">log</span>(<span style="color:#000000">result</span>);
<span style="color:#981a1a"><</span><span style="color:#ff5500">/script></span>
<span style="color:#aa5500">//1+2 3+3 6+4 10+5</span></span></span>
javaScrip代码可以直接放在node.js中运行
学习笔记: 来自b站狂神说学习笔记
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。