JavaScript:修訂版本之間的差異

出自福留子孫
跳轉到: 導覽搜尋
(一)變數的宣告與作用域
(一)變數的宣告與作用域
第 18 行: 第 18 行:
 
};
 
};
 
console.log( doSomeThing(50) );  // 51</pre>
 
console.log( doSomeThing(50) );  // 51</pre>
 +
<pre>var x = 1;
 +
var doSomeThing = function(y) {
 +
  x = 100;
 +
  return x + y;
 +
};
 +
console.log( doSomeThing(50) );  // 150
 +
console.log( x );                // 100</pre>
  
 
===二、常數===
 
===二、常數===

2022年7月4日 (一) 18:14的修訂版本

基本語法

一、變數

JavaScript變數命名規則

  1. 變數可以由字母、數字、下劃線、美元符號($)組成
  2. 變數必須以字母開頭,也能以 $ 和 _ 符號開頭(不過我們不推薦這麼做),但絕不能以數字開頭。
  3. 變數名稱對大小寫敏感( y 和 Y 是不同的變數)

(一)變數的宣告與作用域

  1. let :只在被{ }包起來的區域中作用,不能在全域存取
    包含:if、else、 for、while、foreach…等等
  2. var :作用域是「函式作用域」,也就是在 function 內宣告的 var,要在該 function 內才有作用,以該 function 範圍為界線,在 function 外面的區域無法取用
  3. 函式內未宣告:自己的 function 內如果找不到宣告,就會一層層往外找,直到全域變數為止。function 可以讀取外層已經宣告的變數,
但外層拿不到裡面宣告的變數。
var x = 1;
var doSomeThing = function(y) {
  // 內部找不到 x 就會到外面找,直到全域變數為止。
  // 都沒有就會報錯:ReferenceError: x is not defined
  return x + y;
};
console.log( doSomeThing(50) );   // 51
var x = 1;
var doSomeThing = function(y) {
  x = 100;
  return x + y;
};
console.log( doSomeThing(50) );   // 150
console.log( x );                 // 100

二、常數

const Pi = 3.14159265 ;
  1. 宣告時就要同時賦值
  2. 賦值後就不能被更動了
  3. 作用域都只在 {…} 區塊內

三、函式

JSON

  1. JSON (JavaScript Object Notation,JavaScript 物件表示法)。
  2. 以純文字為基礎,來儲存和交換簡單結構的輕量級「資料交換格式」(類似 XML)。
  3. JSON 比 XML(eXtensible Markup Language,可延伸標記式語言)更小、更快且更易解析。

格式

JSON 可以包含物件(Object)或陣列(Array)資料。物件(Object)與陣列(Array)可互相包含,例如 {"array": [{"object": "object"}]}

物件

如:{"name": value, "name": value},類似 PHP 中的字串索引陣列

  1. 一個物件以 { 開始,並以 } 結束,來寫入資料。
  2. name 為字串,必須以 "" 括起來。
  3. name 與 value 之間使用 : 分隔。
  4. 多個 name:value 之間使用 , 分隔。

陣列

如:[value, value] ,類似 PHP 中的註標索引陣列。

  1. 一個陣列以 [ 開始,並以 ] 結束,來寫入資料。
  2. 多個 value 之間使用 , 分隔。

物件和陣列值

如:{"array": ["string", 10, 1.0, -1, true, false, null]}

  1. 物件(Object):{}。
  2. 陣列(Array):[]。
  3. 字串(String):以 "" 括起來。
  4. 數值(number):0-9 的數字組合(整數、小數或負數)。
  5. 布林(boolean):true 或 false。
  6. 空值(Null):null。

參考資料

  1. JSON 格式與 JavaScript 解析教學範例