JavaScript 函式
console.log( ); 顯示訊息
alert( ) ; 顯示警告視窗 (無法回饋訊息)
confirm( ); 顯示確認視窗 (會回饋訊息)
Number(); 將字串轉換為數字(整數+小數)
parseInt(); 將字串轉換為整數
parseFloat(); 將字串轉換為小數
clear(); 清除畫面
變數資料類型練習:
console.log(typeof "hello"); // 顯示"string"(字串)
console.log(typeof 13); // 顯示"number"(數字)
console.log(typeof 3.14159); // 顯示"number"(數字)
console.log(typeof true); // 顯示"boolean"(布林)
console.log(typeof undefined); // 顯示"undefined"(未定義)
console.log(typeof null); // 顯示"object"(物件)
轉換數字類型
Number("1e3")
Number("0xCC")
Number("123abc")
parseInt("123abc")
parseInt("8.24")
parseFloat("8.24")
數字格式與算術運算子
console.log(0.1 + 0.2); // 輸出:0.30000000000000004
console.log(0.1 * 0.2); // 輸出:0.020000000000000004
console.log(0.1 + 0.2 == 0.3); // 比較運算值,結果為false
邏輯與位移運算
0b0101 & 0b0100
0b0101 | 0b0010
0b0101 ^ 0b1111
0b0101 >> 1
0b0101 >> 2
var 變數 ;
var a = 0.1;
(0.1在二進位中如同循環小數,若與其他數字做運算,
可能答案會不正確)
console.log(parseFloat(a.toPrecision(5)));
加法計算機
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>加法計算機</title>
<script src="http://code.jquery.com/jquery-2.1.3.min.js"></script>
</head>
<body>
<form>
<label for="num1">被加數:</label>
<input type="text" name="num1" id="num1"><br>
<label for="num2">加數:</label>
<input type="text" name="num2" id="num2"><br>
<p>
<input type="button" name="calc" id="calc" value="計算">
<a href="#" id="link">計算</a>
</p>
<p>
<label for="result">結果:</label>
<input type="text" name="result" id="result">
</p>
</form>
<script>
$(function(){
function cal() {
var num1 = $("#num1").val();
var num2 = $("#num2").val();
$("#result").val(Number(num1) + Number(num2));
return false;
}
$("#calc").click(cal);
$("#link").click(cal);
});
</script>
</body>
</html>
2進位轉換成10進位數字:
parseInt('1101', 2);
浮點數字精確度
var num = 0.1 * 0.2;
console.log(parseFloat(num.toPrecision(12))); // 輸出:0.02
隨機數字
var id = setInterval(function () {
var num = Math.floor(Math.random() * 1024);
console.log(num);
}, 3000);
clearInterval(id); // 停止指定識別碼的定時迴圈
字串相連
var str = 10 + "321";
console.log(str);
設定函式參數
function add(x, y) {
if (x === undefined) {
x = 0;
}
y = y || 0;
return x + y;
}
console.log(add(5));
console.log(add(5, 3));
區域變數
function counter() {
var num = num || 0;
return ++num;
}
console.log(counter());
全域變數
var num = 0;
function counter() {
return ++num;
}
console.log(counter());
定時執行敘述:
setTimeout(function(){
console.log("泡麵可以吃了");
}, 180000);
clearInterval(81);
重複執行敘述:
setInterval(function() {
console.log('hello');
},1000);
陣列與迴圈
// 陣列宣告
var she = ['Selina', 'Hebe', 'Ella'];
var total = she.length;
// 使用for迴圈
for(var i=0; i<total; i++) {
console.log(she[i]);
}
// 替換元素1
she.splice(1,1,"杰倫", "昆凌");
// 使用forEach
she.forEach(function(val){
console.log(val);
});
物件資料
var lightObj = { wall:"ON",
table:"OFF",
magic:"ON" };
console.log(lightObj.magic);
for(var key in lightObj) {
var val = lightObj[key];
console.log("屬性:"+key+" 值:"+val);
}
var data = { '@-@':8,
'2':"number",
' ':"Space" };
console.log(data["@-@"]);