ES6第一部分

來源:互聯網
上載者:User

標籤:1.0   mod   module   添加   function   alert   undefined   div   foreach   

1.let聲明變數,va聲明變數,而const聲明的常量

2.let與var的區別

let可以讓變數長期駐紮在記憶體當作

let的範圍是分塊的,塊內的變數不會覆蓋塊外的變數值。

{

//(模)塊1

let a = 1;

  if(true){

    //(模)塊2

    let a = 2;

  }

console.log(a); //1,因為塊內的變數不會覆蓋塊外的變數值

}

let與var:同一個代碼塊裡面不能出現變數重複聲明

3.const聲明常量,常量的值一旦聲明就整體就不能被改變,如果一個空數組或者json的話還是可以網他們裡面新增成員,但可以通過【徹底凍結函數】來禁止添加成語。
const的範圍也是分塊的,const與let共同點:同一個代碼塊裡面不能出現變數重複聲明
const PI = 3.1415926; //聲明常量
const對象聲明後可以進行屬性附值操作,但是不能重新對整個對象賦值操作【例如const json = {},json={name:‘hao123‘}】。

4.const對象凍結

//凍結1const person = Object.freeze();//凍結person.name = "zhangsan";person.age = 30;console.log(person.age);//30//凍結2const person = Object.freeze({});//凍結person.name = "zhangsan";person.age = 30;console.log(person.age); //undefined//凍結3const person = Ojbect.freeze({//凍結    name:"張三",    age:30;});console.log(person.age);//30

5.forEach用法

/** * forEach的用法,遍曆一個對象 * forEach(testfun[,thisobj]); */var arr = [1,2,3,4];//寫法1arr.forEach(t1,arr);function t1(arg) {    alert(arg);}//寫法2arr.forEach(function (e) {    alert(e);});

6.徹底凍結對象的函數

/** * 利用forEach來實現ES6徹底凍結對象的函數 * @param  {[type]} obj [description] * @return {[type]}     [description] *//*ES6寫法*/var constantize = (obj) => {    Object.freeze(obj);    Object.keys(obj).forEach( (key,value) => {        if( typeof obj[key] === ‘object‘ ) {            constantize( obj[key] );        }    });};/*ES5寫法*/var contantize = function (obj) {    Object.freeze(obj);    Object.keys(obj).forEach(function (key,value) {        if( typeof obj[key] === ‘object‘ ) {            constantize ( obj[key] );        }    });}

7.跨模組常量的使用

//module.js檔案的代碼export const myjson = {    varInt: 100,    varFloat: 11.02,    varString: ‘abc‘}//use.jsimport * as myjson form ‘./module‘; //匯入module.js內介面對象myjson的去不成語console.log(myjson.varInt);  //100console.log(myjson.varFloat); //11.02console.log(myjson.varString); //‘abc‘//otherUse.jsimport {myjson.varInt,myjson.varFloat} as myjson form ‘./module‘;console.log(myjson.varInt);console.log(myjson.varFloat);//onlyInt.jsimport myjson.varInt as myjson form ‘./module‘;console.log( myjson.varInt );

 8.全域對象屬性

全域對象屬性,在瀏覽器環境指的是window對象,而Node.js指的是global對象。在javascript語言中,所有的全域對象,所有的全域變數都是全域對象屬性。如果var與function命令聲明的變數是全域變數那麼就屬於全域對象屬性。var myName = ‘jewave‘;console.log(window.myName);//瀏覽器環境下的全域變數console.log(global.myName);//Node環境下的全域變數console.log(this.myName);//通用環境下的全域變數let herName = "hong";console.log(window.herName); //undefined

 

ES6第一部分

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.