若是須要了解這些概念, 您應該熟悉 JS 的基本知識。c++
在也無需絞盡腦汁以爲到底採用 float、double,int 仍是 short 或是 long 仍是 String。只需這樣定義變量 – var my_variable; 。函數
這行代碼看起來像是字符串,並且也沒有賦值給任何變量,但其實它是一個編譯指示(pragma),用於告訴支持的JavaScript引擎切換到嚴格模式。這是爲不破壞ECMAScript 3語法而特地選定的語法。spa
在函數內部的上方包含這條編譯指示,也能夠指定函數在嚴格模式下執行。code
function () { 'use strict'; return a; }
上面的例子在 strict模式下會報出異常,程序並無建立一個全局的變量 a ,而在非strict 模式下則會悄悄的建立一個全局的變量 a。blog
ECMAScript中的語句以一個分號結尾;若是省略分號,則由解析器肯定語句的結尾,以下例所示:ip
var sum = a + b //正確,但不推薦 var diff = a-b; //正確,k推薦
雖然語句結尾的分號不是必需的,但咱們建議任什麼時候候都不要省略它。作用域
與 c、c++ 或 Java 不一樣, JS 只有兩個簡單的做用域類型 - 全局級別和函數界別。因此, 在 JS 中, 若是, if, while ,for 不定義做用域塊。代碼以下:字符串
function () { if (someCondition) { var a; } }
和下面的代碼實際上是同樣的it
function () { var a; if (someCondition) { // ... } }
還有就是變量通常都定義在最上面io
function test() { 'use strict'; console.log(a); console.log(b); //console.log(x); var a = 10, b = 10; console.log(a); console.log(b); } test();
輸出以下結果:
undefined undefined 10 10