欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS中產(chǎn)生標識符方式的演變

 更新時間:2015年06月12日 09:34:57   投稿:hebedich  
本文記錄下JS中產(chǎn)生標識符方式的演變,從ES5到ES6,ES5及其之前是一種方式,只包含兩種聲明(var/function),ES6則增加了一些產(chǎn)生標識符的關鍵字,如 let、const、class。

一、ES5時代

var
function
我們知道 JS 不象其它語言 Java、Ruby等,它用來命名變量的只有關鍵字 var,不論何種類型數(shù)據(jù)都用 var 聲明,當然弱類型并不代表該語言沒有類型,它的類型在運行時(根據(jù)不同運算符)會隱式轉換。而其它語言如Java,光聲明數(shù)字的關鍵字就有 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 關鍵字也可以產(chǎn)生標識符。function 類型聲明的標識符的可能是函數(shù)、方法或構造器(類)。

// 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)生標識符的關鍵字 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 關鍵字分擔了 function 的部分任務。

以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。

相關文章

最新評論