跳到主要內容

[鐵人賽] JS 基本解說,變數型別,宣告 - Node.js Day 6

JS 基本解說,變數型別,宣告

前言

前面已經有建立基本的 Node.js ,以及第一個基本範例,在開發 Node.js 之前,讓我們先建立 JavaScript 應該要知道的一些基本觀念。

本文開始

在進入 node.js 開發之前,還是必須要說, node.js 雖然稱為 node.js ,不過本質在開發上還是在寫 JavaScript。對於 JavaScript 的基本認知還是要有。

基本型態

JavaScript 有以下幾種基本型態。
  • Boolean
  • Number
  • String
  • null
  • undefined
變數宣告的方式,就是使用 var,結尾使用『;』,如果需要連續宣告變數,可以使用 『,』 做為連結符號。
// 宣告 x 為 123, 數字型態
var x=123;

// 宣告 a 為456, b 為 'abc' 字串型態
var a=456,
    b='abc';

布林值

布林,就只有兩種數值, true, false
var a=true,
    b=false;

數字型別

Number 數字型別,可以分為整數,浮點數兩種,
var a=123,
    b=123.456;

字串型別

字串,可以是一個字,或者是一連串的字,可以使用 ‘’ 或 “” 做為字串的值。
var a="a",
    a='abc';

運算子

基本介紹就是 +, -, *, /
邏輯運算就是 && (and), || (or), ^ (xor),
比較式就是 >, <, !=, !==, ==, ===, >=, <=

判斷式

這邊突然離題,加入判斷式來插花,判斷就是 if,整個架構就是,
if (判斷a) {
    // 判斷a 成立的話,執行此區域指令
} else if (判斷b) {
    // 判斷a 不成立,但是 判斷b 成立,執行此區域指令
} else {
    // 其餘的事情在這邊處理
}
整體架構就如上面描述,非 a 即 b的狀態,會掉進去任何一個區域裡面。
整體的判斷能夠成立,只要判斷轉型成 Boolean 之後為 true,就會成立。
大家可以這樣子測試,
Boolean(判斷);

應用

會突然講 if 判斷式,因為,前面有提到 Number, String 兩種型態,但是如果我們測試一下,新增一個 test.js
var a=123,
    b='123';

if (a == b) {
    console.log('ok');
}
編輯 test.js 完成之後,執行底下指令
node test.js
// print: ok
輸出結果為 ok。
這個結果是有點迥異, a 為 Number, b 為 String 型態,兩者相比較,應該是為 false 才對,到底發生什麼事情?
這其中原因是,在判斷式中使用了 == , JavaScript 編譯器,會自動去轉換變數型態,再進行比對,因此 a == b 就會成立,如果不希望轉型產生,就必須要使用 === 做為判斷。
if (a === b) {
    console.log('ok);
} else {
    console.log('not ok');
}
// print: not ok

轉型

如果今天需要將字串,轉換成 Number 的時候,可以使用 parseInt, parseFloat 的方法來進行轉換,
var a='123';

console.log(typeof parseInt(a, 10));
使用 typeof 方法取得資料經過轉換後的結果,會取得,
number
要注意的是,記得 parseInt 後面要加上進位符號,以免造成遺憾,在這邊使用的是 10 進位。

後記

在本篇中,先講解變數的宣告,以及 Boolean, Number, String 幾種形態,以及 if 判斷式怎麼使用,在 JavaScript 這種弱型態的語言當中,有些時候會因為自動轉型造成 debug 的麻煩,因此也稍微提到在實際開發可能會遇到的問題。
前面基本型態有提到 null, undefined ,明天我們繼續聊聊這兩種在 JavaScript 型別中,難以判定的型態。

留言

這個網誌中的熱門文章

[CSS] z-index 在不同瀏覽器繼承問題

今天會討論到這個課題,是因為要實做一個Popup dialog,所以我們希望的結果如下圖。 可是在IE7 卻發生了這樣的情況。 Popup不論怎麼設定z-index都無法浮在最上層,我們看一下html架構發生什麼事情。

[教學] 快快樂樂刪除CodeIgniter index.php

預設的CI網址預設都設定為index.php同一層級,因此所有的程式都必須指定index.php導向才能開始,例如 http://localhost/ci/index.php/welcome/test http://localhost/ci/welcome/test 本文將說明如何將惱人的index.php消除,還你一個漂亮的URL。 設定開始: 接下來說明如何使用rewrite方式將惱人的index.php去除。 rewrite不清楚的人,煩請先自行google 首先要先確定Apache的 mod_rewrite 有 開啟 ,如果沒有開啟請設定好之後重新啟動apache。 接著,在根目錄底下建立一個新檔案,檔名為 .htaccess ,裡面程式碼如下: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] </IfModule> 接著到 application/config/config.php ,開啟檔案修改 $config['index_page'] = ""; 注意: /index.php/$1 要根據你目錄,例如 http://localhost/index.php ,網站根目錄為 /ci/index.php 則要寫成 /ci/index.php/$1 接著至CI目錄下,尋找 config\config.php , 修改一下裡面的檔案,修改如下: $config['index_page'] = ""; 存檔後,如此一來大功告成。 參考資料 官方網站說明

[教學] Mojito 安裝與入門,install mojito for beginner.

mojito ,最近終於從 YDN 對外公開此專案,這個套件主要用於解決前端多重裝置及瀏覽器端的問題,後端服務採取 node.js ,因此使用上必定要先準備以下幾個元素 準備素材 c++ complier git Node.js > 0.4.x NPM > 1.0.x 安裝方式 git clone git://github.com/yahoo/mojito.git cd mojito/source sudo npm install -g . npm install . 以上四個簡單的步驟,就可以把 mojito module 完整安裝到服務器上,接著就可以開始進入 mojito 的世界 使用方式 mojito 提供了完整的 command line 給開發者使用,接著先建立一個基本 hello world 專案,跟著以下步驟完成第一個專案。首先建立一個 mojito application, mojito create app hello cd hello 切換到目錄之後,再接著建立自己的 mojit,這邊的 mojit 就像是一個應用(application)可能會包含許多個獨立網站體,擁有獨立架構的 MVC ,包含內部設定等,詳細資料可以參考官方的 說明 ,建立 mojit mojito create mojit HelloMojit 輸入指令後,會看到顯示結果如下, creating mojit called 'HelloMojit' (using "default" archetype) ✔ mojit: HelloMojit created! ✔ mojito done. 接著修改 application.json 這個 mojit 設定檔案,讓剛才新建立的 hellp application 指定底下有一個 mojit -> HelloMojit ,讓應用可以去執行 mojit controller ,修改如下, [ { "settings": [ "master" ], "appPort": 8666, "specs": { ...