一、ES5時代
var
function
我們知道 JS 不象其它語言 Java、Ruby等,它用來命名變量的只有關鍵字 var,不論何種類型數據都用 var 聲明,當然弱類型并不代表該語言沒有類型,它的類型在運行時(根據不同運算符)會隱式轉換。而其它語言如Java,光聲明數字的關鍵字就有 int、 float、double、long。
// JSvar num1 = 10; // 整數var num2 = 10.1; // 浮點數var str = 'John'; // 字符串var boo = false; // 布爾var obj = {}; // 對象// Javaint num1 = 10;double num2 = 10.2;String str = "John";Boolean boo = false;
JS 里標識符除了使用 var 產生,還有一個 function 關鍵字也可以產生標識符。function 類型聲明的標識符的可能是函數、方法或構造器(類)。
// functionsfunction fetchData(url, param) { // ... } // methodsvar obj = { getUrl: function() { }}; // classfunction Person(name, age) {}Person.prototype = {} 二、ES6時代
var
function
let
const
class
可以看到,ES6 增加了3個可以產生標識符的關鍵字 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多let”,let 和 const 都具有塊級作用域,且不會發生變量提升。而聲明類,也都會使用 class 了,class 關鍵字分擔了 function 的部分任務。
以上所述就是本文的全部內容了,希望大家能夠喜歡。
新聞熱點
疑難解答