JS中產(chǎn)生標識符方式的演變
一、ES5時代
var
function
我們知道 JS 不象其它語言 Java、Ruby等,它用來命名變量的只有關(guān)鍵字 var,不論何種類型數(shù)據(jù)都用 var 聲明,當然弱類型并不代表該語言沒有類型,它的類型在運行時(根據(jù)不同運算符)會隱式轉(zhuǎn)換。而其它語言如Java,光聲明數(shù)字的關(guān)鍵字就有 int、 float、double、long。
// JS
var num1 = 10; // 整數(shù)
var num2 = 10.1; // 浮點數(shù)
var str = 'John'; // 字符串
var boo = false; // 布爾
var obj = {}; // 對象
// Java int num1 = 10; double num2 = 10.2; String str = "John"; Boolean boo = false;
JS 里標識符除了使用 var 產(chǎn)生,還有一個 function 關(guān)鍵字也可以產(chǎn)生標識符。function 類型聲明的標識符的可能是函數(shù)、方法或構(gòu)造器(類)。
// functions
function fetchData(url, param) {
// ...
}
// methods
var obj = {
getUrl: function() {
}
};
// class
function Person(name, age) {}
Person.prototype = {
}
二、ES6時代
var
function
let
const
class
可以看到,ES6 增加了3個可以產(chǎn)生標識符的關(guān)鍵字 let/const/class。let/const 用來聲明變量,class 用來定義類。
// 定義普通變量
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時代,可以想象我們的代碼風格里應該是 “少var多l(xiāng)et”,let 和 const 都具有塊級作用域,且不會發(fā)生變量提升。而聲明類,也都會使用 class 了,class 關(guān)鍵字分擔了 function 的部分任務。
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
相關(guān)文章
bootstrap-table.js擴展分頁工具欄(增加跳轉(zhuǎn)到xx頁)功能
這篇文章主要介紹了bootstrap-table.js擴展分頁工具欄,增加跳轉(zhuǎn)到xx頁功能,由于小編的水平停留在dom級,此次擴展只支持頁面上的表格,如果大家有好的建議歡迎提出2017-12-12
JavaScript實現(xiàn)判斷時間間隔是否連續(xù)為一天
這篇文章主要為大家詳細介紹了如何使用JavaScript實現(xiàn)判斷時間間隔是否連續(xù)為一天,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下2024-01-01
JS localStorage實現(xiàn)本地緩存的方法
JS localStorage實現(xiàn)本地緩存的方法,需要的朋友可以參考一下2013-06-06

