摘要:的一些知識點(diǎn)前言標(biāo)準(zhǔn)的一些區(qū)別塊級作用域全局作用域函數(shù)作用域全局作用域函數(shù)作用域變量提升的問題例子塊級作用域例如在一個(gè)函數(shù),循環(huán)。。。
es6的一些知識點(diǎn)
前言:es6(ECMAscript2015)標(biāo)準(zhǔn)
let、const 塊級作用域、全局作用域、函數(shù)作用域
var 全局作用域、函數(shù)作用域
變量提升的問題: var : true let、const : false
例子:
console.log(a);//undefind let a=1;
塊級作用域:例如在一個(gè)函數(shù),for循環(huán)。。。區(qū)塊之內(nèi)!
const 常量,值不可更改。
let、var 變量,值可以更改
消除Javascript語法的一些不合理、不嚴(yán)謹(jǐn)之處,減少一些怪異行為;
消除代碼運(yùn)行的一些不安全之處,保證代碼運(yùn)行的安全;
提高編譯器效率,增加運(yùn)行速度;
為未來新版本的Javascript做好鋪墊。
"嚴(yán)格模式"體現(xiàn)了Javascript更合理、更安全、更嚴(yán)謹(jǐn)?shù)陌l(fā)展方向,包括IE 10在內(nèi)的主流瀏覽器,都已經(jīng)支持它,許多大項(xiàng)目已經(jīng)開始全面擁抱它。
“use strict”
規(guī)定了一種新的string方法可用 `` 斜引號來創(chuàng)建字符串的代碼塊
綁定變量用${}來綁定。
let name="xiaosan"; let age=22; let home="china" let str1=`she"s name ${name}, she age ${age}, she homes"s ${home}` alert(str1)
字符串內(nèi)可直接換行
let str1=`she"s name ${name}, she age ${age}, she homes"s ${home}` alert(str1)
標(biāo)簽?zāi)0遄址?/p>
function tag(strings,...args){ //...擴(kuò)展運(yùn)算符 //console.log(strings); //console.log(args); let str=""; for(var i=0,l=strings.length-1;i增強(qiáng)的對象字面量(自變量)
對象屬性能夠簡寫;
對象方法可以簡寫function關(guān)鍵字
let name="張三"; let age=22; let zhangshan={ name, age, runing(){ console.log("我會(huì)跑") } }對象屬性名可以書寫自動(dòng)計(jì)算形式
原型繼承__proto__
let people={ eat(){ console.log("我會(huì)吃") }, speak(){ console.log("我會(huì)說話") }, feeling(){ console.log("我有感情") } } let caowei={ name:name, __proto__:people,//設(shè)置對象原型,用來繼承 study(){ console.log("I have sutying ok!") } } console.log("my name"s"+caowei.name) caowei.study(); caowei.eat(); caowei.speak(); caowei.feeling(); console.log(caowei)解構(gòu)賦值
es6允許我們按照一定結(jié)構(gòu)提取數(shù)組與對象里的值,賦給變量
函數(shù)的解構(gòu)賦值
說的明白一點(diǎn)解構(gòu)賦值它的類型就是數(shù)組跟對象
例子//數(shù)組 let [a,,c]=[1,2,3]; console.log(a,c) //對象 let obj={ x:1, y:2 } let {x,y}=obj console.log(x,y)//1 2 //函數(shù)操作 //函數(shù)傳對象 function fn(person){ let name=person.name; let age =person.age; console.log(name,age) } let aa={name:"xiaosan",age:18} fn(aa)*/ /* function fn({uname:name,age,sex="女人"}){ console.log(name,age,sex) } let bb={uname:"xiaosan",age:18} fn(bb)*/ //es5 函數(shù)傳數(shù)組 /*function fn(Arr){ let x=Arr[0]; let y=Arr[1]; let z=Arr[2]; console.log(x,y,z) }*/ /*function fn([x,y,z,d=22]){ console.log(x,y,z,d) } let arr=[9,5,8] fn(arr) //字符串解構(gòu)賦值 let str="123456"; let [a,b,c,d,e,f,g=50]=str; console.log(a,b,c,d,e,f,g)擴(kuò)展運(yùn)算符
擴(kuò)展運(yùn)算符用三個(gè)點(diǎn)號表示,功能是把數(shù)組或類數(shù)組對象展開成一系列用逗號隔開的值
操作數(shù)組操作對象(自變量對象ps:兼容問題)//展開數(shù)組 let arr=[1,2,3] let arr2=arr; // console.log(arr2); document.write(arr2) //1,2,3 let arr3=[...arr] //也可以看做是拷貝 console.log(arr3)//( 3) [1 2 3] //展開對象 let obj={ name:"zhangsan", age:19, } let obj1={ ...obj, sex:"man" } console.log(obj1) //報(bào)錯(cuò) 現(xiàn)在瀏覽器不支持但是方法確實(shí)可行可以采用babel編譯一下使用 //展開函數(shù) function myFunction(x, y, z) { console.log(x,y,z)//0 1 2 } var args = [0, 1, 2]; myFunction(...args); function myFunc(a, b, ...rest) { console.log(rest.length);//3 } myFunc(1,2,3,4,5); // => 3 function myFunction(x, y, z,...l) { console.log(x,y,z,l)//0 1 2 } var args = [0, 1, 2,4,5,6];//0 1 2 (3) [4,5,6] myFunction(...args); //數(shù)組 與 擴(kuò)展運(yùn)算符結(jié)合 let c = ["abc",11,12] let a = [1, 3, 4, 5,c], b = [...a, 6, 7, 8, 9] // b=a; console.log(b)//(8) [1,2,3,4,5,6,7,8,9];箭頭函數(shù)=>
ES6允許使用“箭頭”(=>)定義函數(shù)
var f = v => v上邊的函數(shù)可以書寫為
var f = function(v) { return v; };如果箭頭函數(shù)不需要參數(shù)或需要多個(gè)參數(shù),就使用一個(gè)圓括號代表參數(shù)部分。
var f = () => 5; // 等同于 var f = function () { return 5 }; var sum = (num1, num2) => num1 + num2; // 等同于 var sum = function(num1, num2) { return num1 + num2; };如果箭頭函數(shù)的代碼塊部分多于一條語句,就要使用大括號將它們括起來,并且使用return語句返回。
var sum = (num1, num2) => { return num1 + num2; }由于大括號被解釋為代碼塊,所以如果箭頭函數(shù)直接返回一個(gè)對象,必須在對象外面加上括號。
var getTempItem = id => ({ id: id, name: "Temp" });箭頭函數(shù)可以與變量解構(gòu)結(jié)合使用。
const full = ({ first, last }) => first + " " + last; // 等同于 function full(person) { return person.first + " " + person.last; }默認(rèn)參數(shù),剩余參數(shù),擴(kuò)展參數(shù)
參數(shù)的默認(rèn)參數(shù),剩余參數(shù),拓展參數(shù)
//默認(rèn)參數(shù) let sayHello=(name,age=25)=>{ let str=`my name"s ${name},age"s ${age} old` //console.log(name,age) console.log(str)//my name"s chenxu,age"s 25 old } sayHello("chenxu") //擴(kuò)展參數(shù) let sum=(a,b,c)=>{ console.log(a,b,c) } let arr=[4,5] //擴(kuò)展 sum(1,...arr) //剩余參數(shù) let sum1=(a,b,...c)=>{ console.log(c); console.log(a,b) > 引用文字 ; //剩余 } sum1(1,2,3,4,5,7,9) */ let sum2=(a,b,...c)=>{ console.log(c); var result=c.reduce((a,b)=>a+b); console.log(result); console.log(a,b); } sum2(1,2,3,4,5,7,9)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/87113.html
摘要:的翻譯文檔由的維護(hù)很多人說,阮老師已經(jīng)有一本關(guān)于的書了入門,覺得看看這本書就足夠了。前端的異步解決方案之和異步編程模式在前端開發(fā)過程中,顯得越來越重要。為了讓編程更美好,我們就需要引入來降低異步編程的復(fù)雜性。 JavaScript Promise 迷你書(中文版) 超詳細(xì)介紹promise的gitbook,看完再不會(huì)promise...... 本書的目的是以目前還在制定中的ECMASc...
摘要:結(jié)合工作中使用情況,簡單對進(jìn)行一些復(fù)習(xí)總結(jié),包括常用的語法,等,以及短時(shí)間內(nèi)要上手需要重點(diǎn)學(xué)習(xí)的知識點(diǎn)不同工作環(huán)境可能有一些差別,主要參考鏈接是阮一峰的博客以及外文博客阮老師大部分文章是直接翻譯的這個(gè)博客簡介先說一下,是一個(gè)標(biāo)準(zhǔn)化組織,他們 結(jié)合工作中使用情況,簡單對es6進(jìn)行一些復(fù)習(xí)總結(jié),包括常用的語法,api等,以及短時(shí)間內(nèi)要上手需要重點(diǎn)學(xué)習(xí)的知識點(diǎn)(不同工作環(huán)境可能有一些差別),...
摘要:學(xué)習(xí)定稿有兩年多的時(shí)間了,斷斷續(xù)續(xù)通過一些博客,書籍也學(xué)到了很多知識。將各個(gè)部分的知識整理成一篇篇博文,以便于自己系統(tǒng)掌握和復(fù)習(xí)。整個(gè)系列主要參考了的深入理解,可以看作是對這本書的一個(gè)學(xué)習(xí)總結(jié),也向大家強(qiáng)烈推薦這本書作為的學(xué)習(xí)書籍。 學(xué)習(xí)es6 es6定稿有兩年多的時(shí)間了,斷斷續(xù)續(xù)通過一些博客,書籍也學(xué)到了很多es6知識??梢哉f,es6給js語言帶來了非常大的改進(jìn),引進(jìn)了很多好用的特性...
摘要:常用知識總結(jié)之前總結(jié)了中的一些知識點(diǎn)。在年正式發(fā)布了,簡稱,又稱為。作為構(gòu)造函數(shù)的語法糖,同時(shí)有屬性和屬性,因此同時(shí)存在兩條繼承鏈。子類的屬性,表示構(gòu)造函數(shù)的繼承,總是指向父類。 ES6常用知識總結(jié) 之前總結(jié)了es5中js的一些知識點(diǎn)。這段時(shí)間看了石川blue老師講解的es6課程,結(jié)合阮一峰老師的es6教程,隨手做了一些筆記和總結(jié)分享給大家。內(nèi)容還是es6主要的知識點(diǎn),基本沒有什么創(chuàng)新...
摘要:常用知識總結(jié)之前總結(jié)了中的一些知識點(diǎn)。在年正式發(fā)布了,簡稱,又稱為。作為構(gòu)造函數(shù)的語法糖,同時(shí)有屬性和屬性,因此同時(shí)存在兩條繼承鏈。子類的屬性,表示構(gòu)造函數(shù)的繼承,總是指向父類。 ES6常用知識總結(jié) 之前總結(jié)了es5中js的一些知識點(diǎn)。這段時(shí)間看了石川blue老師講解的es6課程,結(jié)合阮一峰老師的es6教程,隨手做了一些筆記和總結(jié)分享給大家。內(nèi)容還是es6主要的知識點(diǎn),基本沒有什么創(chuàng)新...
閱讀 1896·2021-11-11 16:55
閱讀 2106·2021-10-08 10:13
閱讀 755·2019-08-30 11:01
閱讀 2166·2019-08-29 13:19
閱讀 3293·2019-08-28 18:18
閱讀 2631·2019-08-26 13:26
閱讀 588·2019-08-26 11:40
閱讀 1879·2019-08-23 17:17