程式概念
哈囉沃得
變數與型別
向電腦發出指令使其服從操作
給電腦看?
給人類看?
編輯:Edit -> 原始碼
編譯:Compile -> 目的檔
組譯:Assemble -> 機械碼
連結:Link -> 執行檔
執行:Run
編譯: 轉換成機械碼再執行
直譯: 一邊解讀程式碼一邊執行
混合: 轉換成機械碼再邊解讀機械碼邊執行
JIT: 先直譯,除非經常執行才編譯成機械碼
高階語言
組合語言
機械語言
方便人類撰寫與開發
適合人類閱讀
不適合電腦閱讀
C語言
和電腦的運行關連性較高
適合電腦閱讀
不適合人類閱讀
8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi 8b 54 24 28 mov 0x28(%esp),%edx 89 44 24 04 mov %eax,0x4(%esp) 8b 44 24 20 mov 0x20(%esp),%eax 89 54 24 08 mov %edx,0x8(%esp) 89 04 24 mov %eax,(%esp) e8 38 06 00 00 call 6b902250 <___mingw_TLScallback> b8 01 00 00 00 mov $0x1,%eax 83 c4 1c add $0x1c,%esp c2 0c 00 ret $0xc
換湯不換藥
毫無反應,只是個標記語言
本名LiveScript
JavaScript之於Java就像HotDog之於Dog
"你會Java歐?那這個JavaScript的專案就交給你了"
JavaScript可以簡稱JS
直譯式語言(V8:"哪有?")
提供網頁的互動效果
使用JS在瀏覽器進行操作
HollyWood
初學者的第一個任務
輸出 "hello, world"
alert(show_string)
顯示一個想要的字串
alert("hello, world")
prompt(hint_string)
顯示提示字串並提供輸入字串之功能
prompt("輸入貓有幾個耳朵:")
"2"
console.log(secret_string)
輸出在瀏覽器的主控台
console.log("We human has to stick together!")
其實還是看得到啦
console提供了方便的功能
有些提供格式化字串輸出
%s: 字串
%d: 整數
%f: 浮點數
%c: 以指定CSS輸出到主控台
字串?整數?浮點數?
到底這些是啥米捏?
一個名字對應著一個東西
重點A: 變數命名
重點B: 指派
重點C: 變數型態
除了保留字其他都可以用
英文字大小寫,數字,_,$
var $dollar$sign$;
var _under_score_;
var 變數="Variable";
是時候惡搞變數名稱了
就是不給你改
命名規則與常數相同
const INT3=0xCC
宣告為常數後就不是變數了
利用 = 給予變數一個值
若變數沒有被指派則為undefined
當然也可以指派成undefined
typeof
使用此運算子可以得知變數的型別
typeof(undefined);
typeof undefined ;
不確定就看一下吧~~
Number
整數小數都是浮點數
8086, 6.02e23
0xCC, 0800, 0b1101
Infinity, NaN
String
可以使用雙引號或單引號
'I love <><'
"I'm blind ,not deaf"
字串有方便的內建函式可以使用
JS的跳脫和HTML不太一樣
單引號: \'
雙引號: \"
反斜線: \\
換行: \n
Tab: \t
Boolean
條件判斷時使用
true, false
!!看風向不是那麼簡單低!!
真假值有另外的定義...
以下為假其他為真
乖乖記起來吧...
Array
可以放入各種型態的東西
[], Array(num)
索引值從0開始,可為負
a=[1,2,3,4,5]
a[100]
a[-1]=200
a[1000000000]=true
以上操作都是合法的
Object
以鍵(key)對應值(value)放入東西
{}, Object()
鍵可以為任何東西
skill={name:'上野武勇'}
skill.name
skill['name']
skill[['R',4]]=[0.30,0.17]
skill.說明='打的更痛!呀呼!'
以上操作都是合法的