Friday, June 29, 2018

初試 JavaScript

(暫時不知道影音網站要寫哪部份, 從最近在練習的 JavaScript 講一下心得.)

JavaScript 剛開始是由 NetScape 開發, 後來發展成 ECMA 通過的共同標準.

而一般網站結構, 會大約分為前端跟後端, 前端就包括:
HTML 負責網頁結構, 基本內容, 提交表格(form)等.
CSS 負責版型, 樣式.
JavaScript 則負責屬於前端的運算, 邏輯判斷.

雖然 JavaScript 也有在伺服器執行的方式, 不過伺服器端有更多競爭者如: PHP / ASP , 近期還有 Python 等, 所以大多應用於前端.

(稍微跳離一下)
JavaScript , PHP , MariaDB 雖然都有字串處理, 基本的迴圈, 邏輯判斷等功能, 不過使用的時機與要處理的資料來源不同, MariaDB 是處理資料庫存放的資料為主, JavaScript 是透過 http(s) 向 Web 取得資料, 然後在 Client 端運作, PHP 則介於兩者之間, 包括存取資料庫, 也包括接受 Client 端的表格(form)或 Request (如: GET/POST ).

所以除了寫程式的語法不同, 適用的資料也不同, 比如:
1. 消費者輸入訂單, 未成立訂單時, 可以在前端用 JavaScript 試算.
2. 查詢消費者累計消費金額時, 可以直接用資料庫的 select sum 算出總值.
3. 因為某些促銷, 依過去的特定消費紀錄, 計算是否符合優惠, 因為優惠不適合放前端, 可能會被直接修改, 或者需要資料庫的資料, 這時候就需要 PHP 這類程式來處理.

雖然之前用 PHP 寫一個統計系統, 因為環境單純, 都在區網速度快, 所以前端只有使用 HTML 的 form , 然後 PHP 整理後重新顯示, 使用一些 Session 變數來判斷目前顯示的內容, 所以還沒有從頭寫過 JavaScript .... XD

(跳回來)

因為寫 PHP 已經有 物件 的概念, 練習 JavaScript 並不算太大的問題, 基本的語法結構, 判斷式寫法先了解, 然後開始了解如何接收 HTML 的資料, 進行加工, 然後學一些字串判斷, 分割字串等.

目前覺得需要經驗累積的, 是 JavaScript 對變數的處理, 因為 JavaScript 支援物件, 陣列, 傳統變數等型態, 而且 JavaScript 會自動判斷目前最適合的型態, 所以做一個動作之後, 要確認回傳的型態是什麼, 要進一步處理時, 要看看 JavaScript 是否會自動轉換, 或假如輸入意外的資料時, 是否會造成意外的錯誤.

所以練習到這邊, 反而在要處理的資料上, 加了好幾道關卡, 以免意外的錯誤發生.

就這樣, 連續幾天等行政程序的空檔, 練習的心得.