javascript中数据类型及转换、String()和toString()的区别
数据类型:
JavaScript中的数据类型:
在计算机中,不同的数据类型所占的储存空间是不同的。1、原始数据类型:number (数字)、string(字符串)、boolean(布尔值)、null(空对象)、undefined(未定义)、object(对象)6种,前面5种分为简单数据类型,后面的object为复杂数据类型;2、ECMAScript6中新增symbol,3、新增BigInt,与Number相比,可以支持更大的整数值,共8种。
1、number:数字类型(整数和小数)2、string:字符串类型(值一般是用双引号或者单引号括起来的)3、boolean:布尔值,值为true或者false4、null:空类型,值为null,一个对象指向为空时,此时值为null5、undefined:未定义,值为undefined,值为undefined的情况:1、变量声明后没有赋值2、函数没有明确返回值,如果接收了,结果是undefined3、一个变量的的结果是undefined和一个数字计算的结果是NaN,结果为非数字,没有意义6、object:对象
输出数据类型:typeof 变量名 或 typeof(变量名),如
<script>var num = 10;console.log(typeof(num));console.log(typeof num);</script>
Number类型:
数值字面量,数值的固定表示。在JavaScript中使用的是十进制,常见的数字进制还有二进制、八进制、十六进制等。浮点数:指小数,浮点数之间的计算有出现问题,两个浮点数之间是不能判断是否相等的,如果实在要计算,只能把它放大到整数后在计算,之后在缩小相同的倍数。数字的范围:最大值:Number.MAX_VALUE 最小值:Number.MIN_VALUE 无穷大:Infinity 无穷小:-Infinity;NaN指一个坏掉的数字,它和任何数字或者NaN都不能比较,判断一个数据类型是否为NaN的方法:isNaN(变量)。
String类型:
字符串字面量,指用双引号或者单引号包裹着的字符;字符串的长度:str.length;转义符:JavaScript好多特殊符号是通过\来转义的,转义符很多,我们用的时候到官网查就可以了,不需死记硬背。字符串的拼接:只要有一个是字符串,用加号连接就是拼接。有一个是数字使用减号,其他是字符串则相减。
<script>// 字符串可以使用单引号也可以使用双引号console.log("哈哈\\嘎嘎");console.log("哈哈\t嘎嘎");console.log("哈哈\"嘎嘎");// 字符串的拼接var str1 = '你好';var str2 = '我好';var str = str1 + str2;console.log(str) //你好 我好var num1 = 3;var str1 = '10';var sum = num1 + str1;console.log(sum); //310 // 隐式转换:通过 -、*、/ 浏览器自动的把字符串转换成数字类型,如:var str1 = '10';var str2 = '20';var num = str2 - str1;console.log(num); //10var num1 = '10';var num2 = 5;console.log(num1 * num2); //50console.log(num1 / num2); //2</script>
Boolean类型:
字面量是true和false(1或0)。
Undefined类型:
表示一个声明后没有赋值的变量。
null类型:
表示一个空,如果想要是变量的值为null,那么必须手动设置:var nul = null;
<script>console.log(true); //truevar str;console.log(str); //undefinedconsole.log(str + 'str'); //undefinedstrconsole.log(str + 12); //NaNconsole.log(str + true); //NaNconsole.log(str + false); //NaNvar nul = null;console.log(nul); //nullconsole.log(nul + 'str'); //nullconsole.log(nul + 12); //12console.log(nul + true); //1console.log(nul + false); //0</script>
数据类型转换:
<script>// 一、转整数:parseInt()console.log(parseInt('10'));//10console.log(parseInt('20dfa'));//20console.log(parseInt('gg10'));//NaNconsole.log(parseInt('2hu3'));//2console.log(parseInt(10.78));//10console.log(parseInt('23.4fs'));//23// 二、转小数:parseFloat()console.log(parseFloat('19'));//19console.log(parseFloat('19jk'));//19console.log(parseFloat('gf19'));//NaNconsole.log(parseFloat('12.78j32'));//12.78// 三、转数字,比上面的两种要严,只有纯数字的字符串才会被转成数字类型:Number()console.log(Number('29'));//29console.log(Number('19ds'));//NaNconsole.log(Number('f43'));//NaNconsole.log(Number('10.98'));//10.98// 四、转字符串:num.toString()和String(num)var num = 10;console.log(num.toString());//'10'console.log(String(num));//'10'// 如果变量有意义调用.toString()转换// 如果变量没有意义使用String()转换// 五、转boolean值:Boolean()console.log(Boolean(1));//trueconsole.log(Boolean(0));//falseconsole.log(Boolean(''));//falseconsole.log(Boolean('3'));//trueconsole.log(Boolean(null));//falseconsole.log(Boolean(undefined));//falseconsole.log(Boolean(NaN));//falseconsole.log(Boolean(false));//false</script>
String()和.toString()的区别:.toString()只能转换有意义的数据类型,而String()则没有那么要求高。
<script>var num = null;var str;console.log(toString(num)); //undefinedconsole.log(toString(str)); //undefinedconsole.log(num.toString());//报错console.log(str.toString());//报错</script>
eval()方法:
eval()方法是可以计算字符串的,普通的字符串是无法做计算的,如:
var str = '2+3';console.log(str);//2+3console.log(eval(str));//5
提示:本文图片等素材来源于网络,若有侵权,请发邮件至邮箱:810665436@qq.com联系笔者 删除。
笔者:苦海
javascript中数据类型及转换、String()和toString()的区别相关推荐
- JavaScript中数据类型的转换与undefined及Null
JavaScript易错基础知识整理 1.没有定义值的变量undefined与清空null undefined:定义变量没有给与值时的默认初始值: null:可以通过null来讲变量清空 <sc ...
- java整数能强转转字符,Java中数据类型默认转换和强制类型转换
默认转换: a:由低到高一次为:(byte short char )---int ---long ---float --- double b:注意:byte short char ...
- 前端中unescape是什么意思_详解JavaScript中的Unescape()和String() 函数
JavaScript中的Unescape()和String() 函数详解,具体内容如下所示: 定义和用法 JavaScript unescape() 函数可对通过 escape() 编码的字符串进行解 ...
- JavaScript 基本数据类型 字符型 String
目录 1. 字符串的单双 2. 字符串的嵌套 3. 字符串的转义 4. 字符串的长度 5. 字符串的拼接 6. 转换为字符串 6.1 tostring() 6.2 String() 6.3 隐式转换 ...
- mysql数据库的数据类型转换_MySQL 和Server 2000 数据库中数据类型的转换
问题阐述 在某些特殊的时候,可能要将MySQL 数据库转换为SQL Server 2000 数据库,这时问题也就随之而来.例如,在MySQL 数据库中,创建的字段使用varchar 类型,该类型的数据 ...
- C#中数据类型及其转换知识点汇总
概念 C#中数据类型分为两大类,分别是值类型和引用类型. 值类型变量是从类 System.ValueType 中派生出来的,当声明一个值类型变量时,系统分配内存来存储值. 整形 包括8种类型,区别在于 ...
- JavaScript中带示例的String repeat()方法
JavaScript | 字符串repeat()方法 (JavaScript | String repeat() Method) The String.repeat() method in JavaS ...
- javascript中var、let、const声明的区别
我在上一篇文章javascript中词法环境.领域.执行上下文以及作业详解中的最后稍微提到了有关var.let.const声明的区别,在本篇中我会重点来分析它们之间到底有什么不同. 提到var.let ...
- javascript 中的window, document, screen都有什么区别?
谷歌之后,从stackoverflow上找到的高赞答案: https://stackoverflow.com/questions/9895202/what-is-the-difference-betw ...
最新文章
- 一个比较保守的404页面
- crontab工具介绍
- [luoguP1773] 符文之语_NOI导刊2010提高(02)(DP)
- SAP Spartacus list.component.ts的listData$数据的触发逻辑
- 使用Spring Security和jdbc的Spring Boot
- Python爬虫:该如何学习数据爬虫
- MVVM基本基础(2)
- 连接SQL Server数据库
- linux下lampp(xampp)安装memcached扩展
- NHibernate 设置字段的默认值的办法
- 英特尔核显驱动hd630_英特尔发新处理器,换新 Logo,还把 AMD 吊打了一轮
- ios safari 模拟器_Safari调试iOS应用
- 【ubuntu如何卸载mysql(ubuntu卸载mysql的具体方法)】
- 主板诊断卡代码含义及处理方法
- idea切换Git分支时弹出Git Checkout problem
- 从零开始做一款Unity3D游戏<三>——编写游戏机制
- 《摄影测量学基础》光束法MATLAB程序
- Wireshark实践总结
- 暴力的黑盒对抗样本攻击 -- ZOO
- 企业版和专业版的区别 mail:_阿里邮箱企业版免费与收费邮箱的区别有哪些
热门文章
- Spring Boot 返回XML
- linux 多个定时器,timer: 一个Linux下的超级精简的多重定时器:可实现成千上万个定时任务,定时精度可达纳秒级别,且同一时间点可添加不同的任务!适用于云后台服务和嵌入式等各种环境。...
- linux练习 串口跟进程6,linux下串口测试程序
- 原生js获取document_原生JS常用API整理
- ui automator viewer 怎么获取界面名_ui交互设计怎么样
- 数学建模学习笔记(三)——插值算法
- login.html id=9453,SN100C Sublizenzierung und Aufnahme in die ISO 9453
- 【OpenCV 例程200篇】66. 图像滤波之低通/高通/带阻/带通
- java 线程安全问题_java线程安全问题原因及解决办法
- java中文分词算法_Java实现逆向最大匹配中文分词算法