摘要:中的對(duì)象其實(shí)就是一組數(shù)據(jù)和功能的集合。對(duì)象可以通過執(zhí)行操作符后跟要?jiǎng)?chuàng)建的對(duì)象類型的名稱來創(chuàng)建。而創(chuàng)建類型的實(shí)例并為其添加屬性和或方法,就可以創(chuàng)建自定義對(duì)象,如下所示
數(shù)據(jù)類型
ECMAscript有五種簡(jiǎn)單數(shù)據(jù)類型:Undefined,Null,Boolean,String,Number,還有一種復(fù)雜數(shù)據(jù)類型Object,Object本質(zhì)上是由一組無序的名值組成的.
1.UndefinedUndefined類型只有一個(gè)值,undefined.使用var聲明變量但未對(duì)其初始化時(shí),這個(gè)變量的值就是undefined.
2.NullNull只有一個(gè)值,null.
如果定義的變量準(zhǔn)備在將來保存變量,那么最好將該變量初始化為null值,這樣只要直接檢查null值就可以知道相應(yīng)變量是否已經(jīng)保存了一個(gè)對(duì)象的引用.例如:
if (car != null){
//執(zhí)行某些操作
}
Boolean類型有兩個(gè)值true和false
要將一個(gè)值轉(zhuǎn)換為Boolean類型,可以調(diào)用轉(zhuǎn)型函數(shù)Boolean():
var word = "hello world";
var boolWord = Boolean(word);
數(shù)據(jù)類型 轉(zhuǎn)換為true的值 轉(zhuǎn)換為false的值
String 任何非空字符串 ""(空字符串)
Number 任何非0數(shù)值 0和NaN
Object 任何對(duì)象 null
Undefined n/a undefined
由于保存浮點(diǎn)數(shù)值的內(nèi)存空間的數(shù)值是整數(shù)數(shù)值的兩倍,因此ECMAscript會(huì)不失時(shí)機(jī)的將浮點(diǎn)數(shù)值轉(zhuǎn)換為整數(shù)值.
如果小數(shù)點(diǎn)后面沒有任何數(shù)字,就按整數(shù)保存,如果浮點(diǎn)數(shù)值本身表示得就是一個(gè)整數(shù),那么就按整數(shù)保存(如1.0).
浮點(diǎn)數(shù)值最高精度是17位小數(shù),但在算數(shù)計(jì)算時(shí)精度卻不如整數(shù).例如
if(a+b==0.3){
//不能這樣!!! alert("0.3");
};
關(guān)于浮點(diǎn)數(shù)值計(jì)算會(huì)產(chǎn)生舍入誤差的問題,有一點(diǎn)需要明確:這是使用基于 IEEE754 數(shù)值的浮點(diǎn)計(jì)算的通病
[Number_MIN_VALUE,Number_MAX_VALUE]
在大多數(shù)瀏覽器中,這兩個(gè)值是[5e-324, 1.7976931348623157e+308]
如果得到超出js的值,那么這個(gè)值會(huì)被轉(zhuǎn)換為 -/= Infifity
如果某次計(jì)算的的返回正或者負(fù)的Infinity值,那么該值無法參與下一次計(jì)算.
即Not a Number
這個(gè)數(shù)值用來表示一個(gè)要返回?cái)?shù)值的操作數(shù)未返回?cái)?shù)值的情況,這樣就不會(huì)拋出錯(cuò)誤了.
任何涉及NaN的操作都會(huì)返回NaN(如NaN/10)
NaN與任何值都不相等,包括NaN
isNaN();
任何不能轉(zhuǎn)換為數(shù)值的都返回true
alert(isNaN(NaN)); //true
alert(isNaN(10)); //false(10是一個(gè)數(shù)值)
alert(isNaN("10")); //false(可以被轉(zhuǎn)換成數(shù)值 10)
alert(isNaN("blue")); //true(不能轉(zhuǎn)換成數(shù)值)
alert(isNaN(true)); //false(可以被轉(zhuǎn)換成數(shù)值 1)
有三個(gè)函數(shù)可以把非數(shù)值轉(zhuǎn)換為數(shù)值
Number();//可以把任何類型轉(zhuǎn)換為數(shù)值
//下面兩個(gè)只能把字符串轉(zhuǎn)換為數(shù)值
parseInt() ;
parseFloat();
Number()轉(zhuǎn)換規(guī)則
Boolean: true -> 1 false -> 0
null: 0
undefined: NaN
如果是字符串:
如果只包含數(shù)字 將其轉(zhuǎn)換為十進(jìn)制數(shù)字 011 -> 11 1.1->1.1 01.1 -> 1.1 空字符串 -> 0 其他字符 -> NaN
如果是對(duì)象:
則調(diào)用對(duì)象的 valueOf()方法,然后依照前面的規(guī)則轉(zhuǎn)換返回的值。如果轉(zhuǎn)換 的結(jié)果是 NaN,則調(diào)用對(duì)象的 toString()方法,然后再次依照前面的規(guī)則轉(zhuǎn)換返回的字符 串值5.String
字符串可以由雙引號(hào)或者單引號(hào)表示
字符串一旦創(chuàng)建,它的值就不能改變.要改變某個(gè)變量保存的字符串,首先要銷毀原來字符串,再用一個(gè)包含新值的字符串填充該變量:
var lang ="hello";
var hd = lang + "world";
toString();
String();
var a =111;
a.toString();
多數(shù)情況下調(diào)用toStiring不用傳遞參數(shù),但在調(diào)用數(shù)值的toString()方法時(shí),可以傳遞一個(gè)參數(shù):
var num = 10;
alert(num.toString());//10
alert(num.toString(2));//1010 2進(jìn)制
在不知道轉(zhuǎn)換的值是不是null或者undefined的情況下,還可以使用轉(zhuǎn)型函數(shù)String();
如果值有toString()方法,則調(diào)用toString() 如果值是null,則返回"null" 如果值是undefined,則返回"undefined" var value = 10; alert(String(value));//"10"要把某個(gè)值轉(zhuǎn)換為字符串,可以使用加號(hào)操作符(3.5 節(jié)討論)把它與一個(gè)字符 串("")加在一起。 6.Object
ECMAScript中的對(duì)象其實(shí)就是一組數(shù)據(jù)和功能的集合。對(duì)象可以通過執(zhí)行 new 操作符后跟要?jiǎng)?chuàng)建 的對(duì)象類型的名稱來創(chuàng)建。而創(chuàng)建 Object 類型的實(shí)例并為其添加屬性和(或)方法,就可以創(chuàng)建自定 義對(duì)象,如下所示:
var o = new Object();
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/94483.html
摘要:從現(xiàn)在開始,養(yǎng)成寫技術(shù)博客的習(xí)慣,或許可以在你的職業(yè)生涯發(fā)揮著不可忽略的作用。如果想了解更多優(yōu)秀的前端資料,建議收藏下前端英文網(wǎng)站匯總這個(gè)網(wǎng)站,收錄了國(guó)外一些優(yōu)質(zhì)的博客及其視頻資料。 前言 寫文章是一個(gè)短期收益少,長(zhǎng)期收益很大的一件事情,人們總是高估短期收益,低估長(zhǎng)期收益。往往是很多人堅(jiān)持不下來,特別是寫文章的初期,剛寫完文章沒有人閱讀會(huì)有一種挫敗感,影響了后期創(chuàng)作。 從某種意義上說,...
摘要:從現(xiàn)在開始,養(yǎng)成寫技術(shù)博客的習(xí)慣,或許可以在你的職業(yè)生涯發(fā)揮著不可忽略的作用。如果想了解更多優(yōu)秀的前端資料,建議收藏下前端英文網(wǎng)站匯總這個(gè)網(wǎng)站,收錄了國(guó)外一些優(yōu)質(zhì)的博客及其視頻資料。 前言 寫文章是一個(gè)短期收益少,長(zhǎng)期收益很大的一件事情,人們總是高估短期收益,低估長(zhǎng)期收益。往往是很多人堅(jiān)持不下來,特別是寫文章的初期,剛寫完文章沒有人閱讀會(huì)有一種挫敗感,影響了后期創(chuàng)作。 從某種意義上說,...
摘要:入門,第一個(gè)這是一門很新的語言,年前后正式公布,算起來是比較年輕的編程語言了,更重要的是它是面向程序員的函數(shù)式編程語言,它的代碼運(yùn)行在之上。它通過編輯類工具,帶來了先進(jìn)的編輯體驗(yàn),增強(qiáng)了語言服務(wù)。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺已經(jīng)到來了,總結(jié)過去的 2017,相信小伙們一定有很多收獲...
摘要:入門,第一個(gè)這是一門很新的語言,年前后正式公布,算起來是比較年輕的編程語言了,更重要的是它是面向程序員的函數(shù)式編程語言,它的代碼運(yùn)行在之上。它通過編輯類工具,帶來了先進(jìn)的編輯體驗(yàn),增強(qiáng)了語言服務(wù)。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺已經(jīng)到來了,總結(jié)過去的 2017,相信小伙們一定有很多收獲...
摘要:入門,第一個(gè)這是一門很新的語言,年前后正式公布,算起來是比較年輕的編程語言了,更重要的是它是面向程序員的函數(shù)式編程語言,它的代碼運(yùn)行在之上。它通過編輯類工具,帶來了先進(jìn)的編輯體驗(yàn),增強(qiáng)了語言服務(wù)。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺已經(jīng)到來了,總結(jié)過去的 2017,相信小伙們一定有很多收獲...
閱讀 1947·2021-11-24 09:39
閱讀 3321·2021-09-22 14:58
閱讀 1179·2019-08-30 15:54
閱讀 3331·2019-08-29 11:33
閱讀 1800·2019-08-26 13:54
閱讀 1609·2019-08-26 13:35
閱讀 2480·2019-08-23 18:14
閱讀 776·2019-08-23 17:04