真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

es6是框架嗎

本文小編為大家詳細(xì)介紹“es6是框架嗎”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“es6是框架嗎”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識(shí)吧。

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供佛山網(wǎng)站建設(shè)、佛山做網(wǎng)站、佛山網(wǎng)站設(shè)計(jì)、佛山網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、佛山企業(yè)網(wǎng)站模板建站服務(wù),十載佛山做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

es6不是框架,而是一種JavaScript語言的標(biāo)準(zhǔn)。es6是ECMAScript的第6版,是一種由Ecma國際(國際性會(huì)員制度的信息和電信標(biāo)準(zhǔn)組織)通過ECMA-262標(biāo)準(zhǔn)化的腳本程序設(shè)計(jì)語言;它是腳本語言JavaScript的核心,提供語言的語法和基本對(duì)象。

es6不是框架,而是一種JavaScript語言的標(biāo)準(zhǔn)。

es6全稱ECMAScript6(ECMAScript的第6個(gè)版本),是于2015年6月正式發(fā)布的JavaScript語言的標(biāo)準(zhǔn),正式名為ECMAScript 2015(ES2015)。它的目標(biāo)是使得JavaScript語言可以用來編寫復(fù)雜的大型應(yīng)用程序,成為企業(yè)級(jí)開發(fā)語言。

ECMAScript是一種由Ecma國際通過ECMA-262標(biāo)準(zhǔn)化的腳本程序設(shè)計(jì)語言。這種語言在萬維網(wǎng)上應(yīng)用廣泛,它往往被稱為JavaScript或JScript,所以它可以理解為是JavaScript的一個(gè)標(biāo)準(zhǔn),但實(shí)際上后兩者是ECMA-262標(biāo)準(zhǔn)的實(shí)現(xiàn)和擴(kuò)展。

JavaScript 與 ECMAScript 的關(guān)系

有時(shí)人們會(huì)將 JavaScript 與 ECMAScript 看作是相同的,其實(shí)不然,JavaScript 中所包含的內(nèi)容遠(yuǎn)比 ECMA-262 中規(guī)定的多得多,完整的 JavaScript 是由以下三個(gè)部分組成:

  • 核心(ECMAScript):提供語言的語法和基本對(duì)象;

  • 文檔對(duì)象模型(DOM):提供處理網(wǎng)頁內(nèi)容的方法和接口;

  • 瀏覽器對(duì)象模型(BOM):提供與瀏覽器進(jìn)行交互的方法和接口。

而ECMAScript是JavaScript的核心,描述了語言的基本語法(var、for、if、array等)和數(shù)據(jù)類型(數(shù)字、字符串、布爾、函數(shù)、對(duì)象(obj、[]、{})、null、未定義),ECMAScript是一套標(biāo)準(zhǔn),定義了一種語言(比如JS)是什么樣子。

ECMAScript是由ECMA-262定義的ECMAScript是一種在國際認(rèn)可的標(biāo)準(zhǔn)的腳本語言規(guī)范,與Web瀏覽器沒有依賴關(guān)系。ECMA-262標(biāo)準(zhǔn)主要規(guī)定了這門語言由以下組成部分:

  • 語法

  • 變量和數(shù)據(jù)類型

  • 關(guān)鍵字和保留字

  • 操作符

  • 控制語句

  • 對(duì)象

ECMAScript 6 目前基本成為業(yè)界標(biāo)準(zhǔn),它的普及速度比 ES5 要快很多,主要原因是現(xiàn)代瀏覽器對(duì) ES6 的支持相當(dāng)迅速,尤其是 Chrome 和 Firefox 瀏覽器,已經(jīng)支持 ES6 中絕大多數(shù)的特性。

為什么要學(xué)ES6?ES6的用處是什么?

ES5不能滿足目前前端越來越復(fù)雜,龐大的現(xiàn)狀,可以說已經(jīng)過時(shí)了,ES6是對(duì)ES5的增強(qiáng)和升級(jí)。

1.主流的瀏覽器都已經(jīng)全面支持ES6

2.行業(yè)內(nèi)較新的前端框架都已經(jīng)全面使用ES6的語法

3.微信小程序,uni-app等都是基于ES6的語法

4.從就業(yè)出發(fā),中小型公司,全棧,簡歷上多一個(gè)技能,試用期也能更快的上手。

變量

  • let
          一個(gè)作用域中只能聲明一個(gè)let變量,若子作用域中也聲明了let變量,則不影響父作用域中的let變量。

  • var
          一個(gè)作用域中可以聲明多個(gè)var變量,若子作用域中也聲明了var變量,也在影響父作用域中的var變量。

  • const
          常量,相當(dāng)于final,不可被修改。

  • global
          不聲明變量類型的變量默認(rèn)為全局變量(window屬性)。

面向?qū)ο?/strong>

  • 原理
          JavaScript 的面向?qū)ο筇匦允腔谠秃蜆?gòu)造函數(shù)的,與常見的基于類的不同。JavaScript 沒有 提供對(duì)象繼承的語言級(jí)別特性,而是通過原型復(fù)制來實(shí)現(xiàn)的。

  • 三種創(chuàng)建對(duì)象方法

  1. {pojo}(實(shí)例變量、實(shí)例方法、get、set) 
  2. function(實(shí)例變量、實(shí)例方法、prototype、apply、call) 
  3. class(實(shí)例變量、實(shí)例方法、prototype、extends、super)

prototype

只有函數(shù)、class才有原型,意義在于動(dòng)態(tài)添加實(shí)例變量和實(shí)例方法及實(shí)現(xiàn)繼承。

繼承

  • call/apply
          應(yīng)用在繼承關(guān)系中,子類向父類傳參時(shí)應(yīng)用此關(guān)鍵字

  • extends
          繼承關(guān)系中使用,A extends B,則A是B的父類

  • super
          在子類中調(diào)用父類的方法時(shí)應(yīng)用次關(guān)鍵字

  • ES5繼承方式
          接下來我們手寫一套組合繼承(原型鏈繼承(繼承原型) + 構(gòu)造繼承(繼承屬性))。這種方式即可避免原型鏈繼承中無法實(shí)現(xiàn)多繼承,創(chuàng)建子類實(shí)例時(shí),無法向父類構(gòu)造函數(shù)傳參的弊端,也可避免構(gòu)造繼承中不能繼承原型屬性/方法的弊端。

function Person(name,age){                                             /* 父類 */
    this.name = name || 'father';                            //實(shí)例變量
    this.namesonF = this.nameson;
    this.age = age;
    this.talk = function(){alert("talk");};                 //實(shí)例方法
};
function Son(name){                                                     /* 子類 */
    this.nameson = name || 'son';
    // Person.call(this,'name',18);                          //繼承:構(gòu)造繼承,復(fù)制父類的實(shí)例屬性給子類,不能繼承原型屬性/方法
    Person.apply(this,['name',18]);                          //繼承:構(gòu)造繼承,復(fù)制父類的實(shí)例屬性給子類,不能繼承原型屬性/方法
}
// Son.prototype = new Person("zhangsan",19);                   //繼承:原型鏈繼承,父類的實(shí)例作為子類的原型,拷貝屬性兩次,不合理
Son.prototype = Person.prototype;                            //繼承:原型鏈繼承,父類的實(shí)例作為子類的原型

Person.prototype.publicParam="param1";                       //動(dòng)態(tài)添加實(shí)例變量
Person.prototype.talk=function(){alert("talk");}            //動(dòng)態(tài)添加實(shí)例方法

var son = new Son();                                         //實(shí)例化對(duì)象,調(diào)用構(gòu)造函數(shù)(constructor)

  • ES6繼承方式
          ES6的繼承創(chuàng)造了一種新的寫法,與Java、Scala等語言非常類似,默認(rèn)使用組合繼承(原型鏈繼承(繼承原型) + 構(gòu)造繼承(繼承屬性))的方式。

class Point {
    constructor(x, y) {
        this.x = x;                                           //實(shí)例變量
        this.y = y;
    }
}
class Son extends Point {
    constructor(z, w) {
        super(z,w);
        this.z = z;                                           //實(shí)例變量
        this.w = w;
    }
}
var son = new Son(1,2);

arrow functions

箭頭函數(shù),是ES6中新加入的語法,于Java的lambda,scala的函數(shù)式語法非常相似

  • 代碼

var single = a => console.log(a);
var single = (a) => (console.log(a));
var single = (a, b) => {console.log(a + b)};
var single = (a, b) => {return a + b};

template string

模版字符串,字符串拼接的新語法

  • 代碼

var templateStr = () => {
    var str1 = "adsf\nsdfa";

    var template1 = `
  • first
  •  
  • second
`;     var x = 1;     var y = 2;     var template2 = `${x} + ${y} = ${x + y}`;     var template3 = `${lettest4()}`;     console.log(str1)     console.log(template1)     console.log(template2)     console.log(template3) }

destructuring

重構(gòu)/解構(gòu),變量交互的語法

  • 代碼

var destructuring = () => {
    var [a,b,...c]=[1,2,3,4,5,6,7,8,9,10];
    let [temp="replaceString"] = ["tempString"];
    let [age2, [{name: fname},{age: fname2="replaceString"}]] = [20, [{name: 'qc'},{}]];
    const [aa,bb,cc,dd,ee,ff]="hello";

    let {name="replaceName",age,id}={name:'cursor',age:19,id:'vc6dfuoc91vpdfoi87s'};
    let {type:tipType,min:minNumber}={type:'message',min:20};
    let {sin,cos,tan,log}=Math;

    var fun = function({x,y}={}){return [x,y];}
    fun({x:100,y:2});

    [a,b]=[b,a];                                        //交換

    var map = [1,2,3]
    var map=new Map();
    map.set("id","007");
    map.set("name","cursor");
    for(let [key,value] of map){}
    for(let [key] of map){}
    for(let [,value] of map){}

    var arr = [1,2,3,4]
    for(let val of arr){val}

}

arguments

實(shí)參,ES6中加入的直接讀取參數(shù)的變量

  • 代碼

function argumentsTest(a,b) { 
	for(let val of arguments)
		{console.log(val)
	}
}

讀到這里,這篇“es6是框架嗎”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


新聞名稱:es6是框架嗎
文章鏈接:http://weahome.cn/article/jpphhp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部