上海裝修公司前十名深圳網(wǎng)絡(luò)優(yōu)化seo
1. 什么是ECMA
全稱:European computer manufacturers association歐洲計(jì)算機(jī)制造聯(lián)合會;
2、它的標(biāo)準(zhǔn)名單中的:ECMA — 262腳本語言的規(guī)范:規(guī)范化腳本語言,叫ECMAScript ( 一定要記住);像ES5 ES6就是這樣來的,但是ES5 、ES6不能單單的看成是一門語言,或者說ES*是一種規(guī)范一種標(biāo)準(zhǔn)。
3、編程語言:可以看成兩個(gè)大類:
編譯型 和 解釋型 :兩者沒太大區(qū)別,只是翻譯的時(shí)間長短的區(qū)別,兩者都要經(jīng)過翻譯的過程;
編譯型:就是將源碼通過編譯器編譯成機(jī)器語言,在變成可以在某平臺上可以執(zhí)行的文件(可執(zhí)行文件);
解釋型:就是將源碼通過解釋器,解釋一行就執(zhí)行一行;
兩者優(yōu)缺點(diǎn):解釋型語言不需要根據(jù)不同的系統(tǒng)(window\mac\linux)平臺進(jìn)行移植(只要系統(tǒng)里有相應(yīng)的解釋器,就可以運(yùn)行),而編譯型反之(編譯型在window編譯的可執(zhí)行文件就只適用于window);編譯型的編譯速度比解釋型語言稍微快一點(diǎn)(在大程序里用編譯型的好一點(diǎn));
.java -> javac ->.class -> JVM解釋執(zhí)行
c++ .cpp源碼 -> 編譯器 -> .s匯編 -> 匯編器 -> .obj目標(biāo)代碼 -> 鏈接器 -> 可執(zhí)行文件
腳本語言 -> 腳本引擎 -> 解釋器
前端 后端
JavaScript客戶端腳本 php服務(wù)端腳本
2.什么是ECMASpript
ECMASpript 是由 ECMA 國際通過ECMA-262 標(biāo)準(zhǔn)化的腳本程序設(shè)計(jì)語言 ;
ECMA 國際制定了許多標(biāo)準(zhǔn),而ECMA-262只是其中的一個(gè);
3. let —— 塊兒級作用域 全局,函數(shù),eval
就是在{}里的代碼才有效 比如 if else while for
{
let obj = “這里是測試let”
}
console.log(‘obj’,obj) //這里會報(bào)錯(cuò),obj未定義
如果換成 val 就可以正常輸出了
4.let —— 不存在變量提升
console.log(‘song’)
var song //會輸出underfunded
let song //會報(bào)錯(cuò)
5.let —— 不影響作用域鏈
6.const —— 要賦初始值
const OBJ= ‘a(chǎn)’ //正確
const A; //錯(cuò)誤
7.const —— 一般常量使用大寫(潛規(guī)則)
8.const —— 常量的值不能修改
const SCHOOL = ‘尚硅谷’
SCHOOL = ‘AAA’ //這里會報(bào)錯(cuò),因?yàn)椴荒苄薷?/p>
9.const —— 塊兒級作用域
{
const OBJ = “這里是測試let”
}
console.log(‘obj’,obj) //這里會報(bào)錯(cuò)
10.const —— 對于數(shù)組和對象的元素修改,不算對常量的修改,不會報(bào)錯(cuò)
const TEAM = [‘UZI’,‘MLXG’,‘Ming’,‘Shao’];
TEAM.push(‘Wang’); //不會報(bào)錯(cuò) 因?yàn)檫@個(gè)常量指向的地址沒有改變
TEAM = 100; //報(bào)錯(cuò)
11.ES6 - 變量解析賦值
這被稱為解構(gòu)賦值
數(shù)組解構(gòu):
const F4 = [‘小沈陽’,‘張三’,‘李四’,‘趙五’];
let [xiao, zhang, li, zhao] = F4;
console.log(xiao); //輸出為 —— 小沈陽
console.log(zhang); //輸出為 —— 張三
console.log(li); //輸出為 —— 李四
console.log(zhao); //輸出為 —— 趙五
對象解構(gòu)
const libai = {
name:‘李白’,
age:‘18’,
shici:function(){
console.log(‘這里是輸出’)
}
}
let {name,age,shici} = libai
console.log(name); //輸出為 —— 李白
console.log(age); //輸出為 —— 18
console.log(shici); //輸出為 —— {console.log(‘這里是輸出’)}
shici() //這里是輸出如果只想提取方法
let {shici} = libai
shici() //這樣也能用到方法