Data對象
JS提供了Date對象,我們可以通過它得到當前設備的系統時間
創建時間對象
var date=new Date();
console.log(date);
// 通過date獲取確切的時間
1、獲得四位數的年份,number
var year=date.getFullYear();
console.log(year);
// 2、獲得月份,得到的月份會比當前月份少一,比如1月得0,number
var month=date.getMonth();
console.log(month);
// 3、獲得日期,number
var day=date.getDate();
console.log(day);
// 4、獲得星期,number
var week=date.getDay();
console.log(week)
// 5、獲取小時
var hours=date.getHours();
console.log(hours)
// 6、獲取分鐘
var minutes=date.getMinutes();
console.log(minutes);
// 7、獲得秒鐘
var seconds=date.getSeconds();
console.log(seconds)
// 8、獲取當前時間到1970年1月1日0時0分0秒的總毫秒數
var times=date.getTime();
console.log(times)
// 設置時間:yyyy,MM,dd,HH,mm,ss
var date2=new Date(2018,10,11,12,0,0)
console.log(date2);
閉包
有一個函數A,可以在函數A的外部調用函數A內部聲明的函數B, 而函數B可以訪問函數A內聲明的任意局部變量,這種行爲稱爲閉包,函數A的局部作用域保護了內部局部變量,只能通過閉包的方式在外部調用
1、 可以在函數的外部訪問到函數內部的局部變量。
2. 讓這些變量始終保存在內存中,不會隨着函數的結束而自動銷燬。
簡單點說其實閉包就是一個函數引用另一個函數的變量,因爲變量被引用着所以不會被回收,因此可以用來封裝一個私有變量。這是優點也是缺點,不必要的閉包只會增加內存消耗。或者說閉包就是子函數可以使用父函數的局部變量,還有父函數的參數。閉包是可訪問上一層函數作用域裏變量的函數,即便上一層函數已經關閉。
函數的自調用:
頁面加載函數會自動調用,但是也會發生局部作用域,在其他地方就不能再調用,所以自調用函數會寫成匿名函數
(function (i)}{//形式參數
alert(i);//形式參數
})(10)//實際參數
// + - ! ~ vaid加空格
function fn1(){
console.log(11)
}()
常見類型轉換
顯示類型轉換(強制轉換):
Number():
Boolean(value):
String(value):
parseInt(value):
parseFloat(value):
隱式類型轉換———— + - * / %
規則:在轉換之前將參與運算的雙方轉換爲數字
注:數字+字符串 會將數字轉換爲自字符串
例如:200+2 "202"
注意:null==undefined 爲真
在if語句中隱式轉換爲false的情況:"" null NaN undefined 0
var n=parseInt(true);//給布爾值得到的是NaN
n=parseInt("123")//123(nunmber)
n=parseInt("123.123")//123(nunmber)
n=Number("123.123")//123.123(number)
n=parseInt("a123")//NaN
n=parseFloat("123.123")//123.123(number)
n=parseFloat("123")//123(number),有小數時得到小數,整數時轉換爲整數
console.log(n)