JavaScript的7种基本数据类型JavaScript是弱类型语言,对于数据类型的规范比较松散

缺点:开发复杂的程序存在瓶颈,执行效率与强类型语言相比较低。

数值(Number)也称为数字或数。JavaScript数值类型不再细分整型、浮点型等,所有数值都属于浮点型。

2.1、数值直接量

当数值直接出现在程序中时,被称为数值直接量。在JavaScript程序中,直接输入的任何数字都被视为数值直接量。数值直接量可以细分为整型直接量和浮点型直接量。浮点数就是带有小数点的数值,而整数是不带小数点的数。

varint=1;//整形数值,一般都是32位数值varfloat=1.0;//浮点型数值,一般都是64位数值浮点数可以使用科学计数法来表示。下面的三行代码是等价的

varfloat=1.2e3;varfloat=1.2*10*10*10;varfloat=1200;其中e(或E)表示底数,其值为10,而e后面跟随的是10的指数。指数是一个整型数值,可以取正负值。

2.2、八进制和十六进制

JavaScript支持把十进制数值转换为八进制和十六进制数值直接量。

(1)十六进制数值直接量:以“0X”或“0x”作为前缀,后面跟随十六进制的数值直接量。

varnum=0x1F4;//十六进制数值alert(num);//返回500十六进制的数值是从0-9和a-f的数字或字母任意组合,用来表示0-15之间的某个字,超过这个范围则以进制进行表示。

在JavaScript中,可以使用Number的toString(16)方法把十进制整数转换为十六进制字符串的形式显示。

(2)八进制数值直接量:以数字0为前缀,其后跟随一个八进制的数值直接量。

varnum=0764;//八进制数值alert(num);//返回500八进制或十六进制的数值在参与数学运算之后,返回的都是十进制数值。

考虑到安全性,不建议使用八进制数值直接量,因为JavaScript可能会误解析为十进制数值。

2.3、数值运算

使用算术运算符,数值可以参与各种计算,如加、减、乘、除等运算操作。

为了解决复杂运算,JavaScript提供了大量的数值运算函数,这些函数作为Math对象的属性或方法可以直接调用,例如:

vara=Math.floor(20.5);//调用数学函数,向下取整varb=Math.round(20.5);//调用数学函数,四含五入alert(a);//返回20alert(b);//返回21toString()是一个非常实用的方法,它可以根据所传递的参数把数值转换为对应进制的数值字符串。参数可以接收2-36之间的任意整数,也就是说,该方法可以把数值转换为2~36之间任意一种进制数值字符串。

vara=32;document.writeln(a.tostring(2));//返回字符串100000document.writeln(a.toString(4));//返回字符串200document.writeln(a.toString(16));//返回字符串20document.writeln(a.tostring(30));//返回字符串12document.writein(a.toString(32));//返回字符串10//但是对于数值直接量来说,不能直接调用toString()方法,必须使用小括号强制运算数侦直接量后,再调用该方法:document.writeln(32.toString(16));//执行错误document.writeln((32).toString(16));//返回20使用JavaScrpt进行数值计算时,要防止浮点数溢出。例如,二进制的浮点数不能正确地处理十进制的小数,因此0.1+0.2不等于0.3。

num=0.1+0.2;//0.30000000000000004这是JavaScript中最经常报告的Bug,并且这是遵循二进制浮点数算术标准(IEEE754)而导致的结果。这个标准适合很多应用,但它违背了数字基本常识。

解决方法:浮点数中的整数运算是精确的,所以小数表现出来的问题可以通过指定精度来避免。例如,针对上面的相加可以这样进行处理:

a=(1-2)/10;//0.3这种处理经常在货币计算中用到,在计算货币时当然期望得到精确的结果。例如,元可以通过乘以100而全部转成分,然后就可以准确地将每项相加,求和后的结果可以除以100转换回元。

2.4、特殊字符

JavaScript定义了几个特殊数值常量,如下:

NaN(NotaNumber,非数字值)是在(IEEE754)中定义的一个特殊的数值。它不表示一个数字,尽管下面的表达式返回的是true。

typeofNaN==='number'//true在试图将非数字形式的字符串转换为数字时会产生NaN,例如:

+'0'//0+'oops'//NaN如果NaN是数学运算中的一个运算数,那么与其他运算数的运算结果就会是NaN。如果有一个表达式产生出NaN的结果,那么至少其中一个运算数是NaN,或者在某个地方产生了NaN。

可以对NaN进行检测,但是typeof不能辨别数字和NaN的区别,并且NaN不等同于它自己。

NaN===NaN//falseNaN!==NaN//true为了方便检测NaN值,JavaScript提供isNaN静态函数,以辨别数字与NaN区别。

isNaN(NaN)//trueisNaN(0)//falseisNaN('oops')//trueisNaN('0')//false判断一个值是否可用做数字的最佳方法是使用isFinite函数,因为它会筛除掉NaN和Infinity。Infinity表示无穷大。当数值超过浮点型所能够表示的范围时,就要用Infinity表示。反之,负无穷大为-Infinity。

使用isFinite函数能够检测NaN、正负无穷大。如果是有限数值,或者可以转换为有限数值,那么将返回true。如果只是NaN、正负无穷大的数值,则返回false.

isFinite会试图把它的运算数转换为一个数字。所以,如果值不是一个数字,使用isFinite函数就不是一个有效的检测方法,这时不妨自定义isNumber函数。

3.1、字符串直接量

字符串由Unicode字符、数字和各种符号组合而成,字符串必须包含在单引号、双引号或反引号之中。

当如果字符串包含在双引号中,则字符串内可以包含单引号。反之,可以在单引号中包含双引号。

字符串应在一行内显示,换行显示是不允许的。例如,以下字符串直接量的写法是错误的。

alert("字符串直接量");//返回错误//如果需要字符串换行显示,可以在字符串中添加换行符(\n)alert("字符串\n直接量");在字符串中添加特殊字符,需要使用转义字符表示,如单引号、双引号等。

字符串中每个字符都有固定的位置。首字符的下标位置为0,第2个字符的下标位置为1,依此类推。这与数组元素的位置是一样的,最后一个字符的下标位置是字符串长度减1。

3.2、转义序列

转义序列,是字符的一种间接表示方式。在特殊语境中,无法直接使用字符自身。例如,在字符串中包含说话内容:

"子日:\"学而不思则罔,思而不学则殆。\""JavaScript定义反斜杠加上字符可以表示字符自身。但是一些字符加上反斜杠后会表示特殊含义,这些特殊转义字符被称为转义序列,如下:

由于反斜杠具有转义功能,但它仅对特殊字符有转义功能,因此当在一个正常字符前添加反斜杠时,JavaScript会忽略该反斜杠。例如:

alert("子日:\"学\而\不\思\则\罔\,\思\而\不\学\则\殆\。)alert("子日:\"学而不思则罔,思而不学则殆。\"")//与上一行等价4.3.字符串操作

借助Sringt定义的众多属性和方法,用户可以操作字符串。如果灵活操作字符串,用户可能需要配合正则表达式,加号(+)运算符用于数值相加,在JavaScript中也可以用来连接两个字符串。

以下代码将返回“学而不思则罔思而不学则殆”合并后的字符串。

alert("学而不思则罔"+"思而不学则殆");确定字符串的长度可以使用length属性,下面代码将返回13。

alert("学而不思则罔"+"思而不学则殆".1ength);//返回134、布尔类型(Boolean)布尔型(Boolean)仅包含两个固定的值(true和false),其中true代表"真",而false代表"假"。

在JavaScript中,undefined、null、''、0、NaN和false这6个特殊值转换为逻辑值时为false,被称为假值。除了假值之外,其他任何类型的数据转换为逻辑值时都是true。

以下使用Boolean构造函数强制转换各种特殊值为布尔值。

alert(Boolean(0));//返回falsealert(Boolean(NaN));//返回falsealert(Boolean(null));//返回falsealert(Boolean(""));//返回falsealert(Boolean(undefined));//返回talse以下代码利用假值的特殊性,判断变量a是否为空,如果为空,则提示错误信息。

vara;if(!a){alert("该变量为空,还没有赋值!")}通过以下方式可以有效检测变量b是否初始化,并根据情况补充赋值:

varb;b=bb:"OK”;//如果变量b为空则重新为其赋值,否则采用原来的值alert(b);5、空类型(Null)Null类型数据只有一个值,即null,它表示空值。使用typeof运算符检测null值,返回Object,表明它应属于对象类型。但是JavaScript把它归为一类数据,主要目的是为了方便使用。

null是Null型的直接量,当一个变量值为null时,说明它是一个空值,不是一个有效的对象。这时JavaScript会自动回收它,避免变量占用无效的空间。

null和undefined都表示缺少值,都是假值,可以相等。

alert(null==undefined);//返回true但是,nul和undefined分别属于两种不同类型的数据,使用全等运算符(===)或typeof运算符可以区分检测它们的类型。

alert(null===undefined);//返回falsealert(typeofnull);//返回“object”alert(typeofundefined);//返回"undefined"检测一个变量是否被初始化,可以借助undefined值进行快速检测。

alert(b==undefined);//提示未定义的错误信息对于函数来说,如果没有明确的返回值,则默认返回值都为undefined。

THE END
1.我们是否可以通过分析来揭开002726之谜然而,如果仅仅将其视为一般性的编码,那么它就失去了特殊性。因此,让我们深入思考一下。“002726”,作为一个具体实体,其背后的故事是什么?这是一个历史问题,也是个技术挑战。 历史研究方面,我们需要查找有关“002726”的文档资料、文献记载等,以确定它是在何时、何地、何人手里出现过,并且对当时社会产生了什么样https://www.mjwqtvwr.cn/mei-fa-jiao-cheng/520754.html
2.南非国际电话的区号是多少,怎么使用南非所在非洲,英文名South Africa,国际电话区号0027,通常我们把它写成+0027、0027-、(0027)、(0027),当然南非国际区号前面的0是可以忽略,所区号也写成27、+27、27-、(27)、(27),按国际标准写法南非电话号码通常写成也写作"0027-地区号-地本地号码"或"0027-手机号码",例:南非比勒陀利亚 某用户的手机为:0027https://inter.chinawutong.com/news/132806.html
3.数字编码背后的故事002726的秘密解析在这个信息爆炸的时代,数字编码已经成为我们日常生活中不可或缺的一部分。从银行卡号到身份证号,从密码到网络协议,每一个数字编码背后都有其独特的含义和用途。在这篇文章中,我们将深入探讨“002726”这一特殊的六位数编码,它可能代表什么,背后隐藏着怎样的故事? 编https://www.3svb9bc3.cn/xue-shu-huo-dong/393493.html
4.002726数字化时代的物联网编码解密002726背后的科技秘密首先,我们需要了解什么是物联网编码?简单来说,物联网编码就是为不同类型设备、服务或应用程序设计的一套规则,以便它们能够相互理解并进行有效沟通。这套规则通常涉及到消息格式、传输速率、安全性等多个层面。 比如说,在智能家居领域,一台空调可能会使用002726来与中央控制中心交流其运行状态。如果这台空调发生故障,根https://www.nssydxrcs.cn/yang-zhi-ji-shu/396011.html
5.工银财富货币B(002722)基金净值估值行情走势—爱基金工银财富货币B同类平均沪深30010-0710-2111-0411-1812-0212-1612-300.00%-10.00%-5.00%5.00%10.00% 当前基金 PK 沪深300 基金涨幅 阶段涨幅 季度涨幅 年度涨幅 近1周 近1月 近3月 近6月 今年来 近1年 近2年 近3年 阶段涨幅 0.04% 0.15% 0.43% 0.86% 0.03% 1.98% 4.14% 6.20% 同类平均 0.03% https://fund.10jqka.com.cn/002722/
6.中银美元债债券(QDII)美元(002287)基金净值估值138645美元债,可以这么稳!基少成多8109-12 10:02 81274盘点美元债投资的几个坑基少成多8109-11 10:47 7040公告中银美元债债券型证券投资基金(QDII)2024年基金资讯08-31 09:08 8050公告关于中银美元债债券型证券投资基金(QDII)暂停大基金资讯08-29 07:38 https://fund.eastmoney.com/002287.html
7.17桑德MTN001:行使利息递延支付选择权,利息递延至2026年1月11日桑德17桑德MTN001:行使利息递延支付选择权,利息递延至2026年1月11日 启迪环境科技发展股份有限公司发布公告,决定行使“17桑德MTN001”利息递延支付选择权,本期应支付利息总额14913.752万元将递延至2026年1月11日支付。 本文源自:金融界AI电报https://www.163.com/dy/article/JKSUJQ9U0519QIKK.html
8.AGPBI:{“kind”:”error”,”text”:”error:\u0027f1f1f6\uAGPBI: {“kind”:”error”,”text”:”error: \u0027f1f1f6\u0027 is incompatible with attribute android:b 【声明:】本文是作者(蘑菇v5)原创,版权归作者蘑菇v5所有,侵权必究。本文首发在简书。如若转发,请注明作者和来源地址!未经授权,严禁私自转载!https://www.jianshu.com/p/141a36bd204e
9.135.hx把电棒放在B里开电 A站小黄片视频 爆操母狗人妻 女人自慰AV 91性吧在线 呦交小u女国产精品视频l iGIAO视频 美女扒开内裤让我爽了一晩上 XXX.69HD 性感王楚然胸大被艹污污视频在线观看免费 久久国产精品香蕉绿巨人 夏目彩春新电影 欧美性爱另类 性亚洲娇小枯廋 yy欧美一级大片在线观看 十大高钾食物http://135.hx-r.com/xxxr48556793
10.javascriptinput回车js中回车什么符号\v:垂直制表符(\u000B) \':单引号(\u0027) \":双引号(\u0022) \\:反斜杠(\u005C) 反斜杠还有三种特殊用法。 (1)\HHH 反斜杠后面紧跟三个八进制数(000到377),代表一个字符。HHH对应该字符的 Unicode 码点,比如\251表示版权符号。显然,这种方法只能输出256种字符。 https://blog.51cto.com/u_12929/9206998
11.Scala编程基础元组的实际类型取决于它包含的数量和元素以及这些元素的类型。 因此,(99,"Luftballons")的类型是Tuple2 [Int,String]。('u','r',“the”,1,4,"me")是Tuple6 [Char,Char,String,Int,Int,String]。 元组是类型Tuple1,Tuple2,Tuple3等等。目前在Scala中只能有22个上限,如果您需要更多个元素,那么可以使用集https://blog.csdn.net/sp_ur/article/details/82751520
12.职业院校技能大赛高职组(嵌入式系统应用开发赛项)备赛试题库(含下面是一对一维数组s的初始化,其中不正确的是A、chars[5]={"abc"}B、chars[5]={\u0027a\u0027,\u0027b\u0027,\u0027c\u0027}C、hars[5]={""}D、chars[5]={"abcdef"}答案:D49.关于线程说法不正确的是A、在android中,我们可以在主线程中,创建一个新的线程B、在创建的新线程中,它可以操作UIhttps://www.renrendoc.com/paper/346888273.html
13.贵BU0027统一社会信用代码: 92520201MA6GE3TH0U 经营者:周兴玉 关联企业 2 资金数额:- 成立日期: 2008-10-13 电话: 13678588943 邮箱: - 官网: - 地址: 贵州省六盘水市钟山区流动(贵BU0027) 贵B-U0027是?家成?于2008年10月13日的个体工商户,属于以从事交通运输、仓储和邮政业为主的企业。位于六盘https://www.qichacha.com/firm_f1584a119f4a879e01c94b02a1404f3b.html
14.cdjkpx.com/xxxr42277252.shtml淫妇尻B 是什么意思啊打扑克不盖被 韩国GOGO大胆人体艺术 女人让男人桶的动漫在线观看 老外淫虎女人大迟度 扒开bbbbb裸图 朱竹清被插入下体 男操女视频网站 欧美伊人五月 中文字母在线播放视频免费大全网站 亚洲4438 嗯嗯啊啊不要啊视频在线免费 91精品久久久久久久久99绯色 《loveme动漫在线观看免费》日韩http://cdjkpx.com/xxxr42277252.shtml
15.javascript中的转义字符有哪些js教程转义字符是字符的一种间接表示方式,javascript中的转义字符有:“”、“”、“”、“”、“”、“”、“”、“"”、“'”、“\”、“xx”、“uxxxx”、“xxx”。 本教程操作环境:windows7系统、ECMAScript 5版、Dell G3电脑。 转义字符是字符的一种间接表示方式。在特殊语境中,无法直接使用字符自身。例如,https://www.php.cn/faq/473261.html
16.鲁BU0027车牌吉凶:(凶带吉)一盛一衰.可守成功–车主之家车主之家车牌吉凶查询 鲁BU0027车牌吉凶 车牌号码:鲁BU0027 车牌吉凶:凶带吉 吉凶签文:一盛一衰.可守成功 (结果仅供娱乐,切莫当真!)https://app.16888.com/jx/?mod=success&cp=%E9%B2%81BU0027
17.sdzapx.com/xxxr18903926.htm仙踪林1300部小u女 2021蜜芽在线观看永不失联版 国产又粗又硬又大又爽 原神胡桃开襟乳液狂飙纯视频 欧洲suv 中文字幕MIDE-854大嫌い 寝取人妻av中文字幕 艳遇一级毛 亚洲最新色 亚洲精品中文字幕码专区 亚洲草逼xxxx 114大但人文艺术包子铺 喷奶浆视频H 哥弟调教 周妍希在线 我要看A级片啪啪啪操死http://sdzapx.com/xxxr18903926.htm
18.linux命令总结mybloges0007.b删除名为\a的文件(bjchenxu) rm \\a 0007.c删除名字带的/和‘\0'文件(bjchenxu) 这些字符是正常文件系统所不允许的字符,但可能在文件名中产生,如unix下的NFS文件系统在Mac系统上使用 1.解决的方法,把NFS文件系统在挂到不过滤'/'字符的系统下删除含特殊文件名的文件。 https://www.cnblogs.com/bigbean/p/3657482.html
19.阿拉伯语字母表U-04000000 - U-7FFFFFFF: 1111110x10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx xxx 的位置由字符编码数的二进制表示的位填入,越靠右的 x 具有越少的特殊意义,只用最短的那个足够表达一个字符编码数的多字节串。 注意在多字节串中, 第一个字节的开头"1"的数目就是整个串中字节的数目。而第一行中以https://www.pianshen.com/article/78172361800/
20.被渣男劈腿后,我转身招惹顶级豪门大佬公公给儿媳添B 日本熟女俱乐部 欲海潮喷5在线 莉娜安德森番号 麻豆 幼女 国产 暗网猎奇小屋下载 成人 爱爱网站 奶25fC·cC 无毛少女偏爱者 宫交拳交灌精视频 男女同房在线观看 ‘***℉ 的网址分享 ¢U_C4b28321hbY¢ 杰佣r头条文章 10k找--华网优站网 BILIBILI欧一美一交一配一交一http://m.secmug.cn/year/264232
21.www.lingmaoart.com/appnews20569126.htm国产美女日B 男生鸡机机桶女生机机 17.03MB 39%好评0027人) 大美女搞逼黄色三级花带 网红一区在线观看 亚洲性交色视频 32.82MB 29%好评8949人) 国产AV巨作-淫过年上之表兄妹的淫乱新春 - 醉奶吧 日本亚洲视频图片 轻点痛18禁止线看 85.24MB 01%好评22人) 国产男同在线观看 69无人区乱码http://www.lingmaoart.com/appnews20569126.htm
22.Danfoss丹佛斯自动化控制产品(BWTLO)AutomationControl118U0027 118U0028 118U0029 118U0030 118U0031 118U8056 118U8057 118U8058 118U8059 118U8007 8174044 118U8010 8174045 118U3492 118U3494 118U4620 118U4621 084B4189 084B4191 084B4190 118U0049 027B0120 080G1601 118U3846 118U3847 118U3848 118U3849 118U3850 118U3845 017-404166 017-404http://m.fanpaijidian.com/?p=15771