個人需要注意的點
-
當 JavaScript 中的變量被聲明的時候,程序內部會給它一個初始值
undefined
。當你對一個值爲undefined
的變量進行運算操作的時候,算出來的結果將會是NaN
,NaN
的意思是"Not a Number"。當你用一個值是undefined
的變量來做字符串拼接操作的時候,它會輸出字符串"undefined"
。(變量默認初始值undfined,運算操作結果是NAN,字符串拼接結果是undfined) -
變量名稱最佳實踐駝峯命名法使用駝峯命名法來書寫一個 Javascript 變量,在駝峯命名法中,變量名的第一個單詞的首寫字母小寫,後面的單詞的第一個字母大寫。
-
特殊字符轉義在 JavaScript 中,你可以通過在引號前面使用反斜槓(
\
)來轉義引號。 -
單引號和雙引號的功能在 JavaScript 中是相同的。
-
\'
單引號 \"
雙引號 \\
反斜槓 \n
換行符 \r
回車符 \t
製表符 \b
退格 \f
換頁符 -
在 JavaScript 中,
字符串
的值是 不可變的,myStr[0]="A"並不會使得myStr的第一個值變爲A. -
js數組常用方法.push()存入一個數據,.pop()移出最後一個數據,.shift()移出第一個數據,.unshift()移入一個數據到頭部
-
在函數沒有
return
語句的情況下,當你調用它時,該函數會執行內部代碼,返回的值是undefined
。 -
嚴格相等運算符(
===
)是相對相等操作符(==
)的另一種比較操作符。與相等操作符不同的是,它會同時比較元素的值和數據類型
。3===‘3’ false, 3==‘3’ true -
嚴格不相等運算符(
!==
)與全等運算符是相反的。嚴格相等運算符不會轉換值的數據類型。3!==‘3’ true 3!=‘3’ false -
創建一個對象,兩種取值方式
var ourDog = {
"name": "Camper",
"legs": 4,
"tails": 1,
"friends": ["everything!"]
};
//取出相應的屬性
var a = ourDog.name
var b = ourDog["name"]
//像修改屬性似的添加一個屬性
myDog.break="woof"
//刪除對象屬性
delete myDog.tails;
//檢查對象是否有該屬性
myDog.hasOwnProperty("legs") //true
-
Math.random()
用來生成一個在0
(包括 0)到1
不包括 1)之間的隨機小數,因此Math.random()
可能返回 0 但絕不會返回 1。 -
生成隨機整數,
Math.floor
向下取整,結果爲0-19Math.floor(Math.random() * 20);
生成某個範圍的隨機整數Math.floor(Math.random() * (max - min + 1)) + min
-
parseInt()
函數解析一個字符串返回一個整數 -
var a = parseInt("11", 2);
參數 2 表示 “11” 使用二進制數值系統。此示例將字符串 “11” 轉換爲整數 3。
-
嵌套三元運算符
num>0?"positive":num==0?"zero":"negative"
判斷num是大於0等於0還是小於0
js中操作數組常用的三個方法()
1. filter() 方法創建一個新的數組,新數組中的元素是通過檢查指定數組中符合條件的所有元素。
filter() 不會對空數組進行檢測。 filter() 不會改變原始數組。
var ages = [32, 33, 16, 40];
function checkAdult(age) {
return age >= 18;
}
function myFunction() {
console.log(ages.filter(checkAdult));
}
//輸出結果
32,33,40
ES6語法
var ages = [32, 33, 16, 40];
function myFunction() {
console.log(ages.filter((age)=>age>=18));
}
2. map() 方法返回一個新數組,數組中的元素爲原始數組元素調用函數處理後的值。map() 方法按照原始數組元素順序依次處理元素。
map() 不會對空數組進行檢測。map() 不會改變原始數組。
//返回一個數組,數組中元素爲原始數組的平方根:
var numbers = [4, 9, 16, 25];
function myFunction() {
x = document.getElementById("demo")
x.innerHTML = numbers.map(Math.sqrt);
}
//輸出結果
2,3,4,5
3. reduce() 方法接收一個函數作爲累加器,數組中的每個值(從左到右)開始縮減,最終計算爲一個值。
reduce() 對於空數組是不會執行回調函數的。
//計算元素相加後的總和
var numbers = [65, 44, 12, 4];
function getSum(total, num) {
return total + num;
}
function myFunction(item) {
console.log(numbers.reduce(getSum));
}
//輸出結果
125
ES6語法
var numbers = [65, 44, 12, 4];
function myFunction(item) {
console.log(numbers.reduce((total,num)=>total+num));
}