JS中產(chǎn)生標(biāo)識(shí)符方式的演變
一、ES5時(shí)代
var
function
我們知道 JS 不象其它語(yǔ)言 Java、Ruby等,它用來(lái)命名變量的只有關(guān)鍵字 var,不論何種類型數(shù)據(jù)都用 var 聲明,當(dāng)然弱類型并不代表該語(yǔ)言沒有類型,它的類型在運(yùn)行時(shí)(根據(jù)不同運(yùn)算符)會(huì)隱式轉(zhuǎn)換。而其它語(yǔ)言如Java,光聲明數(shù)字的關(guān)鍵字就有 int、 float、double、long。
// JS var num1 = 10; // 整數(shù) var num2 = 10.1; // 浮點(diǎn)數(shù) var str = 'John'; // 字符串 var boo = false; // 布爾 var obj = {}; // 對(duì)象
// Java int num1 = 10; double num2 = 10.2; String str = "John"; Boolean boo = false;
JS 里標(biāo)識(shí)符除了使用 var 產(chǎn)生,還有一個(gè) function 關(guān)鍵字也可以產(chǎn)生標(biāo)識(shí)符。function 類型聲明的標(biāo)識(shí)符的可能是函數(shù)、方法或構(gòu)造器(類)。
// functions function fetchData(url, param) { // ... } // methods var obj = { getUrl: function() { } }; // class function Person(name, age) {} Person.prototype = { }
二、ES6時(shí)代
var
function
let
const
class
可以看到,ES6 增加了3個(gè)可以產(chǎn)生標(biāo)識(shí)符的關(guān)鍵字 let/const/class。let/const 用來(lái)聲明變量,class 用來(lái)定義類。
// 定義普通變量 let name = 'John'; for (let i = 0; i < arr.length; i++) { } if (boo) { let obj = {}; ... } // 定義常量 const PI = 3.1415926; const $el = $('.nav'); // 定義類 class Point { constructor(x, y) { this.x = x; this.y = y; } toString() { return '('+this.x+', '+this.y+')'; } }
ES6時(shí)代,可以想象我們的代碼風(fēng)格里應(yīng)該是 “少var多l(xiāng)et”,let 和 const 都具有塊級(jí)作用域,且不會(huì)發(fā)生變量提升。而聲明類,也都會(huì)使用 class 了,class 關(guān)鍵字分擔(dān)了 function 的部分任務(wù)。
以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
- VBS中的標(biāo)識(shí)符(Identifiers)
- 淺析JavaScript中的同名標(biāo)識(shí)符優(yōu)先級(jí)
- C#標(biāo)識(shí)符的使用小結(jié)
- mysql把主鍵定義為自動(dòng)增長(zhǎng)標(biāo)識(shí)符類型
- JS在IE下缺少標(biāo)識(shí)符的錯(cuò)誤
- JavaScript實(shí)現(xiàn)生成GUID(全局統(tǒng)一標(biāo)識(shí)符)
- PHP生成不重復(fù)標(biāo)識(shí)符的方法
- IE6/IE7中JavaScript json提示缺少標(biāo)識(shí)符、字符串或數(shù)字問題處理
- C#中使用@聲明變量示例(逐字標(biāo)識(shí)符)
- JavaScript中標(biāo)識(shí)符提升問題
相關(guān)文章
Javascript數(shù)組操作函數(shù)總結(jié)
這篇文章主要給大家匯總介紹了Javascript數(shù)組操作函數(shù),需要的朋友可以參考下2015-02-02寫了一個(gè)layout,拖動(dòng)條連貫,內(nèi)容區(qū)可為iframe
寫了一個(gè)layout,拖動(dòng)條連貫,內(nèi)容區(qū)可為iframe...2007-08-08JavaScript在Android的WebView中parseInt函數(shù)轉(zhuǎn)換不正確問題解決方法
這篇文章主要介紹了JavaScript在Android的WebView中parseInt函數(shù)轉(zhuǎn)換不正確問題解決方法,因轉(zhuǎn)換的字符串?dāng)?shù)字都以0開頭,導(dǎo)致parseInt函數(shù)在瀏覽器和Android WebView中轉(zhuǎn)換結(jié)果不一樣,本文給出了解決方法,需要的朋友可以參考下2015-04-04對(duì)采用動(dòng)態(tài)原型方式無(wú)法展示繼承機(jī)制得思考
今天看書,作者討論到能否采用動(dòng)態(tài)原型方法展示繼承機(jī)制,給出的答案是:不能。原因是prototype對(duì)象的唯一性??聪旅娲a(這段代碼不正確,卻值得研究)2009-12-12js下拉框二級(jí)關(guān)聯(lián)菜單效果代碼具體實(shí)現(xiàn)
這篇文章介紹了js下拉框二級(jí)關(guān)聯(lián)菜單效果代碼具體實(shí)現(xiàn),有需要的朋友可以參考一下2013-08-08JS在Array數(shù)組中按指定位置刪除或添加元素對(duì)象方法示例
這篇文章主要給大家介紹了關(guān)于JS在Array數(shù)組中按指定位置刪除或添加元素對(duì)象的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用JS具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11