摘要:數據類型中有種簡單數據類型也稱為基本數據類型和。盡管和有這樣的關系,但它們的用途完全不同。這樣做不僅可以體現作為空對象指針的慣例,而且也有助于進一步區分和。其次,與任何值都不相等,包括本身。
數據類型
ECMAScript中有5種簡單數據類型(也稱為基本數據類型):undefined,null,boolean,number和string。
typeoftypeof null會返回“object”。
undefined對未初始化的變量執行typeof操作符會返回undefined,而對未聲明的變量執行typeof操作符同樣也會返回undefined。
var message; alert(typeof message); // undefined alert(typeof age); // undefinednull
alert(null==undefined); // true
這里,位于null和undefined之間的相等操作符(==)總是返回true。
盡管null和undefined有這樣的關系,但它們的用途完全不同。如前所述,無論在什么情況下都沒有必要把一個變量顯式地設置為undefined,可是同樣的規則對null卻不適用。換句話說,只要意在保存對象的變量還沒有真正保存對象,就應該明確地讓該變量保存null值。這樣做不僅可以體現null作為空對象指針的慣例,而且也有助于進一步區分null和undefined。
NaN任何涉及NaN的操作(例如NaN/10)都會返回NaN,這個特點在多步計算中有可能導致問題。其次,NaN與任何值都不相等,包括NaN本身。
alert(NaN==NaN); // false
alert(isNaN(isNaN)); // true alert(isNaN(10)); // false alert(isNaN("10")); // false alert(isNaN("blue")); // true alert(isNaN(true)); // false數值轉換
Number(), parseInt(),parseFloat()
Number()函數的轉換規則如下:
如果boolean值,true和false將分別被轉換為1和0
如果是數字值,只是簡單的傳入和返回
如果是null值,返回0
4.如果是undefined,返回NaN
執行前置遞增和遞減操作時,變量的值都是在語句被求值以前改變的。(在計算機科學領域,這種情況通常被稱為副效應)
var age = 29; var anotherAge = --age +2; alert(age); // 28 alert(anotherAge); // 30
由于前置遞增和遞減操作與執行語句的優先級相等,因此整個語句會從左至右被求值。
var num1 = 2; var num2 = 20; var num3 = --num1 + num2; // 等于21 var num4 = num1 + num2; // 等于21
后置型遞增和遞減操作符的語法不變(仍然分別是++和--),只不過要放在變量的后面而不是前面。后置遞增和遞減與前置遞增和遞減有一個非常重要的區別,即遞增和遞減操作是在包含他們的語句被求值之后才執行的。
var num1 = 2; var num2 = 20; var num3 = num1-- + num2; // 等于22 var num4 = num1 + num2; // 等于21一元加和減操作符
在對非數值應用一元加操作符時,該操作符會像Number()轉型函數一樣對這個值執行轉換。換句話說,布爾值false和true將被轉換為0和1,字符串值會被按照一組特殊的規則進行解析,而對象是先調用它們的valueOf()和toString()方法,再轉換得到的值。
var s1 = "01"; var s2 = "1.1"; var s3 = "z"; var b = false; var f = 1.1; var o = { valueOf : function(){ return -1; } } s1 = +s1; // 1 s2 = +s2; // 1.1 s3 = +s3; // NaN b = +b; // 0 f = +f; // 1.1 o = +o; // -1
一元減操作符只要用于表示負數,例如將1轉換成-1。
一元加和減操作符只要用于基本的算術運算,也可以像前面的示例所展示的一樣用于轉換數據類型。
加性操作符 加法var result1 = 5+5; alert(result1); // 10 var result2 = 5+"5"; alert(result2); // "55"減法
var result1 = 5 - true; //4 var result2 = NaN -1; // NaN var result3 = 5-3; //2 var result4 = 5 - ""; //5 var result5 = 5 - "2"; // 3 var result6 = 5 - null; // 5相等操作符
null == undefined; // true "NaN" == NaN; // false 5 == NaN; // false NaN == NaN; // false NaN != NaN; // true false ==0; // true true == 1; // true true == 2; // false undefined ==0; false null ==0; false "5"==5; // true
記住:null == undefined會返回true,因為它們是類似的值;但null===undefined會返回false,因為它們是不同類型的值。
函數function sum(num1, num2){ return num1 + num2; alert("Hello world"); // 永遠不會放棄 }
這個函數會在執行完return 語句之后停止并立即退出。因此,位于return 語句之后的任何代碼都不會執行。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/87453.html
摘要:那么,什么樣的機遇能夠帶來最好的結果如何確保能取得成功的結果呢英特爾為此提出了一套概念驗證的解決方案,并且詳細撰寫了一套白皮書,能夠幫助決策者回答這些問題,同時最大化價值,最小化風險。 showImg(http://upload-images.jianshu.io/upload_images/13825820-5ded473acf69a9d1.jpg?imageMogr2/auto-o...
摘要:區塊鏈是軟件開源運動所結出的果子。原因是區塊鏈創造的信任是基于代碼產生的。 上一講中,我們深入探討了區塊鏈對一些基本問題的答案,包括對時間的答案、對空間的答案以及對能量的答案。在這一篇文章中,我們將從區塊鏈作為基本工具的工具論方面切入。這個方面包括了它是怎樣看待這個世界的:它使用了哪些工具,以及它使用了哪些方法?構造了哪些全新的博弈環境并形成了哪些新的博弈均衡態?這些方法也許和人們過去...
摘要:秘猿科技法務總監錢靖受邀參加北京大學數字金融研究中心舉辦的數字金融第十講,作為主講嘉賓就區塊鏈正在重塑法律做了主題演講。而區塊鏈在很大程度上可以幫助解決這些問題。第三個方面涉及到區塊鏈對每個部門法的影響。 showImg(https://segmentfault.com/img/bVboMSK?w=1280&h=543); 秘猿科技法務總監錢靖受邀參加北京大學數字金融研究中心舉辦的數字...
摘要:而比特幣,是由中本聰化名提出,一種點對點,去中心化的數字資產。比特幣預計共有萬枚,大約將在年發行完畢。比特幣電子現金系統解決了在沒有中心機構的情況下,總量恒定的數字資產的發行和流通問題。比特幣通過比特幣系統進行轉賬,全網記錄公開透明。 第一期 比特幣與中本聰 卡酷少Wechat:13260325501 說起區塊鏈,就不得不提比特幣。也正是因為比特幣市場的火熱,比特幣系統的去中心化概...
摘要:而作為構造函數,需要有個屬性用來作為以該構造函數創造的實例的繼承。 歡迎來我的博客閱讀:「JavaScript 原型中的哲學思想」 記得當年初試前端的時候,學習JavaScript過程中,原型問題一直讓我疑惑許久,那時候捧著那本著名的紅皮書,看到有關原型的講解時,總是心存疑慮。 當在JavaScript世界中走過不少旅程之后,再次萌發起研究這部分知識的欲望,翻閱了不少書籍和資料,才搞懂...
閱讀 2351·2021-11-25 09:43
閱讀 2864·2021-11-24 09:39
閱讀 2926·2019-08-30 11:10
閱讀 1130·2019-08-29 16:34
閱讀 595·2019-08-29 13:25
閱讀 3358·2019-08-29 11:21
閱讀 2861·2019-08-26 11:39
閱讀 2394·2019-08-26 11:34