Math.random
https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Global_Objects/Math/random
可以回傳0~1之間的浮點數,但不包括1 所以是0 ~ 0.999.....(無窮小數)
可以加上最大值和最小值的設定
// Returns a random number between min (inclusive) and max (exclusive)
Math.random() * 3 + 1 ;
1 ~ 3.9999999(無窮小數)
如果要用來產出整數的話,需要使用Math.floor
== V.S ===
兩個和三個等於雖然都是用來比較兩邊一不一樣,但還是有一些差別 ==會幫忙type的轉變,所以
1 == '1' true
1 === '1' false
或者是像下面這種奇怪的情形
'' == 0 true
'' === 0 false
雖然大部分的時候兩個和三個等於得到的結果會是一樣的,但還是有可能會讓你不小心陷入奇怪的情形,為了避免還是盡量用===
!= 和!==也是同理可證
NaN(Not A Number)不管如何比對得到的結果都會是false,只能用isNaN()來判斷
Functions
The basic structure of a function
function myFunction() {
// do a bunch of stuff here
}
Calling a function
myFunction();
A function expression
var myFunction = function () {
// do stuff here
};
Adding Data to Arrays
Add items to the end of an array with .push()
var items = ['Hat', 'Ball', 'Shoes'];
items.push('Socks','Scarf');
// items is now ['Hat', 'Ball', 'Shoes', 'Socks', 'Scarf']
Add items to the beginning of an array with .unshift()
var items = ['Hat', 'Ball', 'Shoes'];
items.unshift('Socks','Scarf');
// items is now ['Socks', 'Scarf', 'Hat', 'Ball', 'Shoes']
Using for in to Loop Through an Object's
var person = {
name : 'Sarah',
country : 'US',
age : 35,
treehouseStudent : true,
skills : ['JavaScript', 'HTML', 'CSS']
};
for (var key in person){
document.write(key, ' :', person[key]+ "<br>");
}
for裡面的key可以自給自訂要叫什麼
但是在for裡面無法用person.key去取得內容,因為會被認為是你要取得persona裡的key屬性 只能用person[key]
for裡面用不用var
for (var x in set) {
...
}
for (x in set) {
...
}
第一個定義了一個var x,而第二個沒有,他會去找之前你有沒有定義過x這個變數,如果沒有的話將會被定義成global變數
First project - Random Quote Generator
setInterval(function(){
printQuote();
},30000);
這樣可以自動每30秒重新跑一次 setTimeout只會跑一次