成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

紅皮書(shū)(2):基本概念

Brenner / 3369人閱讀

摘要:數(shù)據(jù)類(lèi)型中有種簡(jiǎn)單數(shù)據(jù)類(lèi)型也稱(chēng)為基本數(shù)據(jù)類(lèi)型和。盡管和有這樣的關(guān)系,但它們的用途完全不同。這樣做不僅可以體現(xiàn)作為空對(duì)象指針的慣例,而且也有助于進(jìn)一步區(qū)分和。其次,與任何值都不相等,包括本身。

數(shù)據(jù)類(lèi)型

ECMAScript中有5種簡(jiǎn)單數(shù)據(jù)類(lèi)型(也稱(chēng)為基本數(shù)據(jù)類(lèi)型):undefined,null,boolean,number和string。

typeof

typeof null會(huì)返回“object”。

undefined

對(duì)未初始化的變量執(zhí)行typeof操作符會(huì)返回undefined,而對(duì)未聲明的變量執(zhí)行typeof操作符同樣也會(huì)返回undefined。

var message;

alert(typeof message); // undefined
alert(typeof age); // undefined
null
alert(null==undefined); // true

這里,位于null和undefined之間的相等操作符(==)總是返回true。

盡管null和undefined有這樣的關(guān)系,但它們的用途完全不同。如前所述,無(wú)論在什么情況下都沒(méi)有必要把一個(gè)變量顯式地設(shè)置為undefined,可是同樣的規(guī)則對(duì)null卻不適用。換句話說(shuō),只要意在保存對(duì)象的變量還沒(méi)有真正保存對(duì)象,就應(yīng)該明確地讓該變量保存null值。這樣做不僅可以體現(xiàn)null作為空對(duì)象指針的慣例,而且也有助于進(jìn)一步區(qū)分null和undefined。

NaN

任何涉及NaN的操作(例如NaN/10)都會(huì)返回NaN,這個(gè)特點(diǎn)在多步計(jì)算中有可能導(dǎo)致問(wèn)題。其次,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
數(shù)值轉(zhuǎn)換

Number(), parseInt(),parseFloat()

Number()函數(shù)的轉(zhuǎn)換規(guī)則如下:

如果boolean值,true和false將分別被轉(zhuǎn)換為1和0

如果是數(shù)字值,只是簡(jiǎn)單的傳入和返回

如果是null值,返回0
4.如果是undefined,返回NaN

操作符 遞增和遞減操作符

執(zhí)行前置遞增和遞減操作時(shí),變量的值都是在語(yǔ)句被求值以前改變的。(在計(jì)算機(jī)科學(xué)領(lǐng)域,這種情況通常被稱(chēng)為副效應(yīng))

var age = 29;
var anotherAge = --age +2;

alert(age); // 28
alert(anotherAge); // 30

由于前置遞增和遞減操作與執(zhí)行語(yǔ)句的優(yōu)先級(jí)相等,因此整個(gè)語(yǔ)句會(huì)從左至右被求值。

var num1 = 2;
var num2 = 20;
var num3 = --num1 + num2; // 等于21
var num4 = num1 + num2; // 等于21

后置型遞增和遞減操作符的語(yǔ)法不變(仍然分別是++和--),只不過(guò)要放在變量的后面而不是前面。后置遞增和遞減與前置遞增和遞減有一個(gè)非常重要的區(qū)別,即遞增和遞減操作是在包含他們的語(yǔ)句被求值之后才執(zhí)行的。

var num1 = 2;
var num2 = 20;
var num3 = num1-- + num2; // 等于22
var num4 = num1 + num2; // 等于21
一元加和減操作符

在對(duì)非數(shù)值應(yīng)用一元加操作符時(shí),該操作符會(huì)像Number()轉(zhuǎn)型函數(shù)一樣對(duì)這個(gè)值執(zhí)行轉(zhuǎn)換。換句話說(shuō),布爾值false和true將被轉(zhuǎn)換為0和1,字符串值會(huì)被按照一組特殊的規(guī)則進(jìn)行解析,而對(duì)象是先調(diào)用它們的valueOf()和toString()方法,再轉(zhuǎn)換得到的值。

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

一元減操作符只要用于表示負(fù)數(shù),例如將1轉(zhuǎn)換成-1。

一元加和減操作符只要用于基本的算術(shù)運(yùn)算,也可以像前面的示例所展示的一樣用于轉(zhuǎn)換數(shù)據(jù)類(lèi)型。

加性操作符 加法
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

記?。簄ull == undefined會(huì)返回true,因?yàn)樗鼈兪穷?lèi)似的值;但null===undefined會(huì)返回false,因?yàn)樗鼈兪遣煌?lèi)型的值。

函數(shù)
function sum(num1, num2){
    return num1 + num2;
    alert("Hello world"); // 永遠(yuǎn)不會(huì)放棄
}

這個(gè)函數(shù)會(huì)在執(zhí)行完return 語(yǔ)句之后停止并立即退出。因此,位于return 語(yǔ)句之后的任何代碼都不會(huì)執(zhí)行。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/87453.html

相關(guān)文章

  • 英特爾發(fā)布"概念驗(yàn)證"白皮書(shū):AI人工智能落地,如何輔助決策者將價(jià)值最大化

    摘要:那么,什么樣的機(jī)遇能夠帶來(lái)最好的結(jié)果如何確保能取得成功的結(jié)果呢英特爾為此提出了一套概念驗(yàn)證的解決方案,并且詳細(xì)撰寫(xiě)了一套白皮書(shū),能夠幫助決策者回答這些問(wèn)題,同時(shí)最大化價(jià)值,最小化風(fēng)險(xiǎn)。 showImg(http://upload-images.jianshu.io/upload_images/13825820-5ded473acf69a9d1.jpg?imageMogr2/auto-o...

    Leck1e 評(píng)論0 收藏0
  • 區(qū)塊鏈從根本上重新塑造人與人之間,人與物質(zhì)世界之間的關(guān)系

    摘要:區(qū)塊鏈?zhǔn)擒浖_(kāi)源運(yùn)動(dòng)所結(jié)出的果子。原因是區(qū)塊鏈創(chuàng)造的信任是基于代碼產(chǎn)生的。 上一講中,我們深入探討了區(qū)塊鏈對(duì)一些基本問(wèn)題的答案,包括對(duì)時(shí)間的答案、對(duì)空間的答案以及對(duì)能量的答案。在這一篇文章中,我們將從區(qū)塊鏈作為基本工具的工具論方面切入。這個(gè)方面包括了它是怎樣看待這個(gè)世界的:它使用了哪些工具,以及它使用了哪些方法?構(gòu)造了哪些全新的博弈環(huán)境并形成了哪些新的博弈均衡態(tài)?這些方法也許和人們過(guò)去...

    Shisui 評(píng)論0 收藏0
  • 區(qū)塊鏈正在重塑法律(上)

    摘要:秘猿科技法務(wù)總監(jiān)錢(qián)靖受邀參加北京大學(xué)數(shù)字金融研究中心舉辦的數(shù)字金融第十講,作為主講嘉賓就區(qū)塊鏈正在重塑法律做了主題演講。而區(qū)塊鏈在很大程度上可以幫助解決這些問(wèn)題。第三個(gè)方面涉及到區(qū)塊鏈對(duì)每個(gè)部門(mén)法的影響。 showImg(https://segmentfault.com/img/bVboMSK?w=1280&h=543); 秘猿科技法務(wù)總監(jiān)錢(qián)靖受邀參加北京大學(xué)數(shù)字金融研究中心舉辦的數(shù)字...

    wendux 評(píng)論0 收藏0
  • 區(qū)塊鏈概念 That You Must Know 第一期.md

    摘要:而比特幣,是由中本聰化名提出,一種點(diǎn)對(duì)點(diǎn),去中心化的數(shù)字資產(chǎn)。比特幣預(yù)計(jì)共有萬(wàn)枚,大約將在年發(fā)行完畢。比特幣電子現(xiàn)金系統(tǒng)解決了在沒(méi)有中心機(jī)構(gòu)的情況下,總量恒定的數(shù)字資產(chǎn)的發(fā)行和流通問(wèn)題。比特幣通過(guò)比特幣系統(tǒng)進(jìn)行轉(zhuǎn)賬,全網(wǎng)記錄公開(kāi)透明。 第一期 比特幣與中本聰 卡酷少Wechat:13260325501 說(shuō)起區(qū)塊鏈,就不得不提比特幣。也正是因?yàn)楸忍貛攀袌?chǎng)的火熱,比特幣系統(tǒng)的去中心化概...

    zorro 評(píng)論0 收藏0
  • JavaScript 原型中的哲學(xué)思想

    摘要:而作為構(gòu)造函數(shù),需要有個(gè)屬性用來(lái)作為以該構(gòu)造函數(shù)創(chuàng)造的實(shí)例的繼承。 歡迎來(lái)我的博客閱讀:「JavaScript 原型中的哲學(xué)思想」 記得當(dāng)年初試前端的時(shí)候,學(xué)習(xí)JavaScript過(guò)程中,原型問(wèn)題一直讓我疑惑許久,那時(shí)候捧著那本著名的紅皮書(shū),看到有關(guān)原型的講解時(shí),總是心存疑慮。 當(dāng)在JavaScript世界中走過(guò)不少旅程之后,再次萌發(fā)起研究這部分知識(shí)的欲望,翻閱了不少書(shū)籍和資料,才搞懂...

    sugarmo 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<