Undefined和 Null
一個聲明後沒有被賦值的變量會有一個默認值undefined ( 如果進行相連或者相加時,注意結果)
var variable;
console.log(variable); // undefined
console.log('你好' + variable); // 你好undefined
console.log(11 + variable); // NaN
console.log(true + variable); // NaN
一個聲明變量給 null 值,裏面存的值爲空(學習對象時,我們繼續研究null)
var vari = null;
console.log('你好' + vari); // 你好null
console.log(11 + vari); // 11
console.log(true + vari); // 1
typeof獲取變量類型
typeof是一個運算符,有2種使用方式:typeof(表達式)和typeof 變量名,第一種是對表達式做運算,第二種是對變量做運算。
var num=8
console.log(typeof num) //number
console.log(typeof(num)) //number
數據類型轉換
轉換成字符串
一般使用+號進行隱式轉換
轉換爲數字型(重點)
數組中新增元素
可以通過一下方式向數組末尾添加新的元素
arr[arr.length] = "新數據"
剩餘參數和擴展運算符
兩者是相反的過程
剩餘參數可以將以逗號分隔的參數轉換成數組到函數中
function fun(a1, a2, ...a) {
console.log(a);
}
fun(1, 5, 6, 8, 9, 7, 1, 4)
結果:[ 6, 8, 9, 7, 1, 4 ]
擴展運算符可以將數組轉換成以逗號分隔的數列
var arr = [1, 5, 6, 8, 9, 7, 1, 4]
console.log(...arr)
結果:1 5 6 8 9 7 1 4
arguments
arguments是一個僞數組,內部儲存了所有傳遞的實參
function fun() {
console.log(arguments)
}
fun(1, 5, 8, 99, 55, 33, 44, 4)
結果:[Arguments] { ‘0’: 1, ‘1’: 5, ‘2’: 8, ‘3’: 99, ‘4’: 55, ‘5’: 33, ‘6’: 44, ‘7’: 4 }
new關鍵字
- 在構造函數執行之前,創建一個 空的對象
- 修改this的指向 ,將this指向創建出來的空對象
- 執行函數代碼
- 在函數完成後返回this–即創建出來的 新對象
math對象
屬性、方法名 | 功能 |
---|---|
Math.PI | 圓周率 |
Math.floor() | 向下取整 |
Math.ceil() | 向上取整 |
Math.round() | 四捨五入版 就近取整 注意 -3.5 結果是 -3 |
Math.abs() | 絕對值 |
Math.max()/Math.min() | 求最大和最小值 |
Math.random() | 獲取範圍在[0,1)內的隨機值 |
指定範圍內取任意整數
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
日期對象date
實例化
//獲取當前時間
var now = new Date();
//傳入毫秒數
var time = new Date(1578585600000)
//傳入日期
var future = new Date('2019/5/1');
date實例方法
數組對象
數組排序
注意:sort方法需要傳入參數來設置升序、降序排序
- 如果傳入“function(a,b){ return a-b;}”,則爲升序
- 如果傳入“function(a,b){ return b-a;}”,則爲降序
數組索引方法
數組轉化成字符串
字符串對象
字符串的不可變
字符串的值不可改變,看上去可以改變,但是其實是地址值變了,再內存中開闢了一塊新的內存空間
根據字符串返回位置
indexof方法的使用類似於數組,可以通過返回值是否爲-1來判斷是否匹配正則
根據位置返回字符
str[index]方法和數組的操作方式類似
字符串操作方法
substr(start,length)類似於數組的slice()方法,截取字符串的一部分
注意replace()方法不會對原來的字符串進行修改,而是返回一個修改後的新字符串
split()方法按照接受的參數切分字符串,將切分後的字符串放到數組中
var str = "我驕傲,我的名字叫,劉德華"
var ar = str.split(",")
console.log(ar);
結果:[ ‘我驕傲’, ‘我的名字叫’, ‘劉德華’ ]