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