首頁  >  文章  >  web前端  >  JS中產生標識符方式的演變_javascript技巧

JS中產生標識符方式的演變_javascript技巧

WBOY
WBOY原創
2016-05-16 15:55:421091瀏覽

一、ES5時代

var
function
我們知道JS 不像其它語言Java、Ruby等,它用來命名變數的只有關鍵字var,不論何種類型資料都用var 聲明,當然弱型別並不代表該語言沒有型,它的型別在執行時(根據不同運算符)會隱式轉換。而其它語言如Java,光聲明數字的關鍵字就有 int、 float、double、long。

// JS
var num1 = 10;   // 整数
var num2 = 10.1;  // 浮点数
var str   = 'John'; // 字符串
var boo   = false; // 布尔
var obj   = {};  // 对象



// Java
int num1   = 10;
double num2  = 10.2;
String str   = "John";
Boolean boo = false;
 

JS 裡標識符除了使用 var 產生,還有一個 function 關鍵字也可以產生標識符。 function 類型宣告的標識符的可能是函數、方法或建構器(類別)。

// 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個可以產生識別碼的關鍵字 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 的部分任務。

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn