Javascript學(xué)習(xí)一數(shù)據(jù)類型
1、介紹js的基本數(shù)據(jù)類型
Undefined、Null、Boolean、Number、String
(1) Undefined和Undifined區(qū)別
null是一個(gè)表示"無"的對(duì)象,轉(zhuǎn)為數(shù)值時(shí)為0;undefined是一個(gè)表示"無"的原始值,轉(zhuǎn)為數(shù)值時(shí)為NaN。
undefined:
(1)變量被聲明了,但沒有賦值時(shí),就等于undefined。
?。?) 調(diào)用函數(shù)時(shí),應(yīng)該提供的參數(shù)沒有提供,該參數(shù)等于undefined。
?。?)對(duì)象沒有賦值的屬性,該屬性的值為undefined。
?。?)函數(shù)沒有返回值時(shí),默認(rèn)返回undefined。
null:
?。?) 作為函數(shù)的參數(shù),表示該函數(shù)的參數(shù)不是對(duì)象。
?。?) 作為對(duì)象原型鏈的終點(diǎn)。
(2)數(shù)據(jù)類型之間的轉(zhuǎn)換
typeof查看,返回六個(gè)字符串
number string boolean object undefined function
(3)強(qiáng)制轉(zhuǎn)字符串
String(變量) 可以轉(zhuǎn)任何數(shù)據(jù)類型
變量.toString(); 除了null undefined,其它均可
(4)強(qiáng)制轉(zhuǎn)數(shù)字
Nunber(); 可以轉(zhuǎn)任何數(shù)據(jù)類型,只有能轉(zhuǎn)成功或不能轉(zhuǎn)成功之分。
轉(zhuǎn)成功就是數(shù)字,轉(zhuǎn)不成功就是NaN
parseInt() 轉(zhuǎn)整數(shù)
parseFloat() 轉(zhuǎn)小數(shù)
如果轉(zhuǎn)不成功,則返回NaN
(5)隱式類型轉(zhuǎn)換
+ - * / % ++ --
(6)NaN
1、NaN同誰(shuí)都不相等,包括它自己
2、任何涉及NaN的操作返回的都是NaN
3、typeof查看返回的是number
(7)isNaN
不喜歡數(shù)值(包括字符串的數(shù)字),但喜歡數(shù)值類型的NaN
喜歡的是非數(shù)字
2復(fù)雜數(shù)據(jù)類類
復(fù)雜、引用數(shù)據(jù)類型(object)
數(shù)據(jù)封裝類對(duì)象:Object、Array、Boolean、Number 和 String
其他對(duì)象:Function、Arguments、Math、Date、RegExp、Error
獲取時(shí)間
// 返回電腦操作系統(tǒng)的時(shí)間,時(shí)間對(duì)象, //這個(gè)對(duì)象下面有很多的屬性,包括年月日星期時(shí)分秒 var date = new Date(); var year = date.getFullYear(); // 年 var month = date.getMonth() + 1; // 月:0--11 var d = date.getDate(); // 日 var week = date.getDay(); // 星期 0--6(日一二三四五六) var h = date.getHours(); // 時(shí) var m = date.getMinutes(); // 分 var s = date.getSeconds(); // 秒
new操作符
(1)創(chuàng)建一個(gè)空對(duì)象,并且 this 變量引用該對(duì)象,同時(shí)還繼承了該函數(shù)的原型。
(2)屬性和方法被加入到 this 引用的對(duì)象中。
(3)新創(chuàng)建的對(duì)象由 this 所引用,并且最后隱式的返回 this 。
3 全等判定:
相等,值是否相等,會(huì)發(fā)生類型轉(zhuǎn)換
全等,值和類型都要相等才相等,不會(huì)發(fā)生類型轉(zhuǎn)換
console.log(1 == '1'); // true
console.log(true == 1); // true
console.log(null == undefined); // true,除此之外,它們不能和其它的值進(jìn)行比較
// === 全等,值和類型都要相等才相等,不會(huì)發(fā)生類型轉(zhuǎn)換
console.log(1 === '1'); // false
console.log(true === 1); // false
console.log(null === undefined); // false
console.log(null !== undefined); // true
console.log(null != undefined); // false
3、this對(duì)象的理解
this總是指向函數(shù)的直接調(diào)用者(而非間接調(diào)用者);
如果有new關(guān)鍵字,this指向new出來的那個(gè)對(duì)象;
在事件中,this指向觸發(fā)這個(gè)事件的對(duì)象,特殊的是,IE中的attachEvent中的this總是指向全局對(duì)象Window。
1 閉包:函數(shù)里面套函數(shù),被嵌套函數(shù)就叫閉包。
閉包特點(diǎn):
function init() {
var name = "Mozilla"; // name 是一個(gè)被 init 創(chuàng)建的局部變量
function displayName() { // displayName() 是內(nèi)部函數(shù),一個(gè)閉包
alert(name); // 使用了父函數(shù)中聲明的變量
}
displayName();
}
init();
posted on 2018-10-18 14:48 小費(fèi)愛小費(fèi) 閱讀(125) 評(píng)論(0) 收藏 舉報(bào)
浙公網(wǎng)安備 33010602011771號(hào)