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联系笔者 删除。
笔者:苦海

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/575402.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Algorithm(1) - Karatsuba multiplication

这个系列主要是记一下目前效率较高或者比较出名的一些算法. Karatsuba multiplication: x5678 then: a56 b67 y1234 c12 d34 setps: 1: a*c 672 ① 2: b*d2652 ② 3: (ab)(cd)6164 ③ 4: ③-②-①2840 5: 6720000 2652284000 7006652 Recursive …

javascript中基本包装、算数运算符、递增递减运算符、赋值运算符、比较运算符、逻辑运算符、运算符优先级

基本包装类型&#xff1a; 指基本类型的数据变量通过调用属性或者方法包装成了复杂类型&#xff0c;这个变量也称为基本包装类型对象 <script>var str hello;str str.replace(ll, ee);console.log(str); //heeeo//通过基本包装&#xff0c;无论Boolean对象中传入true还…

grootjs 简明教程

grootJs简明教程 mvvm框架也是解决的一类问题&#xff0c;在某些时候会提高生产效率&#xff1b; 经过接近一个月的努力&#xff0c;grootJs测试版终于发布了 grootJs是一个mvvm的框架&#xff0c;名字取 grass 和root 两个单词的组合&#xff0c;既“草根”之意。在创作的中…

流程控制介绍,顺序结构、分支结构、循环结构、Promise对象、throw语句、break和continue关键字

流程控制 流程控制&#xff1a;指代码的执行顺序&#xff0c;有三种方式&#xff1a;顺序结构、分支结构、循环结构 顺序结构&#xff1a; 代码从上到下&#xff0c;从左到右的执行顺序。 分支语句&#xff1a; if语句、if-else语句、if-else if-else语句、switch-case语…

javascript中数组、冒泡排序、函数及函数实参形参、arguments伪数组、异步函数等介绍

数组&#xff1a; 指一组有顺序的数据&#xff0c;其作用就是用来一次性存储多个数据。&#xff08;数组元素&#xff1a;数组中的每一个数据&#xff1b;数组长度&#xff1a;数据中元素的个数&#xff1b;数组索引&#xff1a;用来存储或访问数组中的数据&#xff0c;也叫下…

中文字串截取无乱码的问题

UTF-8中文截取函数在PHP中&#xff0c;substr()函数截取带有中文字符串的话&#xff0c;可能会出现乱码&#xff0c;这是因为中西文一个字节所占有的字节数不一样&#xff0c;而substr的长度参数是按照字节去算的&#xff0c;在GB2312编码时&#xff0c;一个中文占2个字节&…

javascript中作用域、全局作用域、局部作用域、隐式全局变量、块级作用域、作用域链、预解析

作用域 作用域指的是代码的作用范围&#xff0c;按照作用域划分变量可分为全局变量和局部变量&#xff1b;作用域可分为&#xff1a; 全局作用域&#xff1a; 指全局变量作用的范围&#xff1b;全局变量指的是通过var在函数外面声明的变量&#xff0c;在js中任何位置都可以使…

楼宇对讲门铃的芯片选型分析

目前很多的高层住宅都使用了对讲门铃了&#xff0c;在频繁使用中&#xff0c;门铃会出现的越来越多种类&#xff0c;下面我就简单的介绍会有用到的几款芯片. 语音通话芯片&#xff1a;D34018,D34118,D5020,D31101; D34018 单片电话机通话电路&#xff0c;合并了必 需的放大器…

easyui 布局自适应

最近在把以前写的一个项目改成用easyui做前端。过程中遇到了不少问题。其中一个就是datagrid不能很好的布局。想了好多办法都有局限。最后想到会不会是布局&#xff08;easyui-layout&#xff09;的问题&#xff0c;经过实验&#xff0c;最后问题解。 1&#xff1a;比如在项目中…

javascript中对象、JSON格式数据、创建对象的方式、数据类型分类及特点

对象 对象指&#xff1a;具体的一个实物&#xff0c;javascript中对象是指一组没有顺序的属性和方法的集合&#xff0c;所有的事物都是对象&#xff0c;例如&#xff1a;函数&#xff0c;数组&#xff0c;字符串等。属性指事物的特征&#xff0c;一般为名词表示&#xff1b;方…

在存储过程中编写正确的事务处理代码

在 SQL Server 中数据库事务处理是个重要的概念&#xff0c;也稍微有些不容易理解&#xff0c;很多 SQL 初学者编写的事务处理代码存往往存在漏洞&#xff0c; 本文介绍了三种不同的方法&#xff0c;举例说明了如何在存储过程事务处理中编写正确的代码。 在编写 SQL Server 事务…

javascript中内置对象简介、Array

内置对象&#xff1a; javascript的三种对象&#xff1a;1.内置对象—JavaScript自带的对象&#xff1b;2.自定义对象—自己定义构造函数创建对象&#xff1b;3.浏览器对象— BOM时候介绍&#xff0c;几个常用内置对象&#xff1a;Math Date String Array Object Array对象&a…

javascript中Date对象及方法

Date对象&#xff1a; 该对象呈现时间中的某个时刻。其本质是自1970年1月1日&#xff08;UTC&#xff09;起经过的毫秒数&#xff0c;相关属性的方法如下&#xff1a;&#xff08;如果Date对象中传入指定的时间&#xff0c;则以传入的指定时间返回相关数据&#xff0c;就不会以…

如何调优JVM

堆设置 -Xmx3550m&#xff1a;设置JVM最大堆内存 为3550M。-Xms3550m&#xff1a;设置JVM初始堆内存 为3550M。此值可以设置与-Xmx相同&#xff0c;以避免每次垃圾回收完成后JVM重新分配内存。-Xss128k&#xff1a;设置每个线程的栈 大小。JDK5.0以后每个线程栈大小为1M&#x…

javascript中encodeURL对象、Boolean对象、Function对象、globalThis对象、Infinity对象、isFinite对象、isNaN对象、JSON对象

encodeURI()对象&#xff1a; 用于对特殊字符进行编码&#xff0c;decodeURI()对象&#xff1a;将特殊字符进行解码&#xff0c;常用于URL地址编码中 <script>var url https://mozilla.org/?xшеллыvar urlEncode encodeURI(url);console.log(urlEncode); //http…

JAVA Web学习篇--Servlet

Servlet由来 做过BS项目的人都知道&#xff0c;浏览器可以依据HTML静态标记语言来显示各式各样的网页。可是假设我们须要在网页上完毕一些业务逻辑&#xff1a;比方登陆验证。或者说网页显示的内容在server的数据库中。假设是这样&#xff0c;除了负责显示的HTML标记之外&#…

javascript中Math对象及方法

Math对象&#xff1a; 其所有属性与方法都是静态的&#xff0c;其相关属性和方法如下&#xff1a; 继&#xff1a; 继&#xff1a; 提示&#xff1a;本文图片等素材来源于网络&#xff0c;若有侵权&#xff0c;请发邮件至邮箱&#xff1a;810665436qq.com联系笔者 删除。 笔者…

Linux crontab 命令格式与具体样例

基本格式 : *  *  *  *  *  command 分 时 日 月 周 命令 第1列表示分钟1&#xff5e;59 每分钟用*或者 */1表示 第2列表示小时1&#xff5e;23&#xff08;0表示0点&#xff09; 第3列表示日期1&#xff5e;31 第4列表示月份1&#xff5e;12 第5列标识号星期0…

javascript中NaN属性、null对象、Number对象、Object对象

NaN属性&#xff1a; 表示不是一个数字&#xff0c;是全局对象的属性&#xff0c;其初始值为NaN <script>console.log(NaN NaN); //false</script>null对象&#xff1a; 特指对象的值未设置 <script>console.log(null undefined); //trueconsole.log(nul…

网站建设的基本流程及服务端开发简介

服务端开发&#xff1a; 前面部分都是在介绍前端开发&#xff0c;接下来将介绍后端开发&#xff0c;这里采用php介绍&#xff0c;在本篇应当掌握编程能力&#xff0c;编程思想&#xff0c;解决问题的思路&#xff0c;熟悉网页开发&#xff0c;网站开发&#xff0c;应用开发的基…