02.JS数据类型与数据类型转换
前言:
学习一门编程语言的基本步骤
(01)了解背景知识
(02)搭建开发环境
(03)语法规范
(04)常量和变量
(05)数据类型
(06)数据类型转换
5.数据类型——datatype
数据分为原始类型和引用类型,
原始类型分为数值型(number),字符串型(string),布尔型(boolean),未定义型(undefined),空(null)
(1)数值型-number
分为整型和浮点型
1)整型-parseInt()
//整型,在内存中占有4个字节
//二进制
var num01=10;
console.log(num01);//输出为2
//八进制,以0开头
var num02=012;
console.log(num02);//输出为10
//十进制
var num03=13;
console.log(num03);//输出为13
//十六进制,以0x开头,a~f代表10-15,不区分大小写
var num04=0x10;
console.log(num04);//输出为16
var num05=0xff;
console.log(num05);//输出为255 ff=15*16+15
//无论变量是几进制的数字,打印的结果最终都是十进制


2)浮点型—parseFloat()
分为定点小数和指数型小数
//浮点型,在内存中占8个字节
//定点小数
var f=3.14;//普通小数
//指数型
var f1=3.14e3;// e3代表10的三次方 3.14*10的三次方,输出为3140
var f2=3.14e-1;//e-1代表10的负一次方 3.14*10的负一次方,输出为-0.314
console.log(f1,f2);
//检测数据类型,typeof xx=类型是XX
console.log(typeof f2);//数据类型为number
(2)字符串型-string
数据要被引号所包含就是字符串型,不区分单双引号,
如果查询任意一个字符的Unicode码,每次只能查看一个,不能一次查看多个。注意:编辑器一定要在UTF8的格式查询。
//字符串型
'一'.charCodeAt(); //unicode码为19968
"oksana".charCodeAt(); //unicode码为111
"o".charCodeAt(); //unicode码为111
"k".charCodeAt(); //unicode码为107
'你好'.charCodeAt(); //unicode码为20320
'你'.charCodeAt(); //unicode码为20320
'好'.charCodeAt(); //unicode码为22909
//由此可证明,多个字符只能查询第一个字符的unicode码
//被单引号或是双引号包裹的就是字符串,这种类型统称为字符串型数据
(3)布尔型-boolean
true/false
在程序中表示真或是假,用于一些比较的结果,还有一些是否的结果,例如是否登录,是否注册,是否...
//布尔型
var b2=3>1;
console.log(b2,typeof b2);//输出结果为true,类型为boolean
(4)未定义型-undefined
声明了变量未赋值,结果就是undefined
//未定义型-undefined
var a;//声明变量,未赋值
console.log(typeof(a))//查询数据类型为undefined
(5)空-null
只有一个值是null,与引用类型一起使用。
//空
var b=null;
console.log(b,typeof b);
6.数据类型转换——datatype transform
(1)隐式转换——在运算的过程中自动发生转换
1)数字+字符串——数字被转换成字符串
2+'3'; //'23'
2+'hi'; //"2hi"
2+'你好'; //"2你好"
2)数字+布尔型——布尔型转成数字,true——>1,false——>0
3+true //
3+false //
3)布尔型+字符串——true转字符串变成拼接
var a=true+"oksana";
console.log(a); //输出trueoksana
var b=false+"oksana";
console.log(b); //输出falseoksana
4)JS中(+)加号运算的作用
执行加法运算和字符串间的拼接
//执行加法运算
var num1=3,num2=true,num3='oksana',num4=6;
console.log(num1+ num4); //
console.log(num1+ num4+ num2); //
//执行字符串间的拼接
console.log(num1+ num2+ num3); //4oksana
console.log(num2+ num3+ num1); //trueoksana3
console.log(num3+ num1+ num2); //oksana3true
//声明变量保存一个人的姓名性别,打印‘我的姓名叫(变量),性别(变量)
var uname='oksana',sex='女';
console.log('我的姓名叫'+uname+',性别是'+sex);//我的姓名叫oksana,性别是女
5)JS中减法(-),乘法(*),除法(/)运算会发生隐式转换
将运算符两端的数据自动调用Number转化为数值型后运算,如果转换失败,返回NaN(Not a Number),意味不是一个数字,转换失败后和任何值执行加减乘除都会返回NaN。
//其他运算符转换,减法、乘法、除法中无论两端的数据是什么类型,都会转换成数字类型
console.log(5-3); //
console.log(5*3); //
console.log(5/3); //1.6666666666666667
console.log(5-'3'); //2,'3'转化为数字3
console.log(5*'3'); //
console.log(5/'3'); //1.6666666666666667
console.log('5'-'3'); //2,'3','5'转换为数字3,5
console.log('5'*'3'); //
console.log('5' / '3'); //1.6666666666666667
console.log('3'-true);//2,true转换为1
console.log('3'*true);//
console.log('3'/true);//3
console.log('3'-false);//3,false转换为0
console.log('3'*false);//
console.log('3'/false);//Infinity
console.log('3'-null);//3,null转换为0
console.log('3'*null);//
console.log('3'/null);//Infinity
console.log('2a'-5);//NaN,2a转换后不是一个数字,转换失败
console.log('2a'/5);//NaN
console.log('2a'*5);//NaN ——> Not a Number,不是一个数字,而NaN和任何一个数加减乘除都是NaN
(2)强制转换
1)强制转为数字型 —— Number()
//强制转为数字型
var num1=Number('2');
var num2=Number(true);
var num3=Number('2a');
var num4=Number(undefined);
var num5=Number(null);
console.log(num1,typeof num1);//
console.log(num2,typeof num2);//
console.log(num3,typeof num3);//NaN
console.log(num4,typeof num4);//NaN
console.log(num5,typeof num5);//
2)强制转化为整型 —— parseInt()
常用于将字符串或者是数字转为整型,其他的数据会返回NaN,如果要转换的字符串,开头为非数字,则返回NaN, 未定义、空、布尔型,返回NaN。
//转为整型
var n1=parseInt('1');
var n2=parseInt(1.2);
var n3=parseInt('2a');
var n4=parseInt('a2');
var n5=parseInt(undefined);
var n6=parseInt(null);
var n7=parseInt(true);//未定义、空、布尔型,返回NaN
console.log(n1,typeof n1);//1 "number"
console.log(n2,typeof n2);//1 "number"
console.log(n3,typeof n3);//2 "number"
console.log(n4,typeof n4);//NaN "number"
console.log(n5,typeof n5);//NaN "number"
console.log(n6,typeof n6);//NaN "number"
console.log(n7,typeof n7);//NaN "number"
3)强制转化为浮点型 —— parseFloat()
和parseInt的用法基本一致,只是转换为浮点型数据
//强制转化为浮点型
var n1=parseFloat('1');
var n2=parseFloat(1.2);
var n3=parseFloat('2.5a');
var n4=parseFloat('a2.5');
var n5=parseFloat(undefined);
var n6=parseFloat(null);
var n7=parseFloat(true);
console.log(n1,typeof n1);//1 "number"
console.log(n2,typeof n2);//1.2 "number"
console.log(n3,typeof n3);//2.5 "number"
console.log(n4,typeof n4);//NaN "number"
console.log(n5,typeof n5);//NaN "number"
console.log(n6,typeof n6);//NaN "number"
console.log(n7,typeof n7);//NaN "number"
4)强制将数值型和布尔型转为字符串型 —— toString()
//将数值,布尔型转为字符串和
var num=10,boo=true;
var str=num.toString();
var str1=boo.toString();
console.log(num,str,typeof str);//10 "10" "string"
console.log(boo,str1,typeof str1);//true "true" "string"
02.JS数据类型与数据类型转换的更多相关文章
- js | JavaScript中数据类型转换总结
转载 在js中,数据类型转换分为显式数据类型转换和隐式数据类型转换. 1, 显式数据类型转换 a:转数字: 1)Number转换: 代码: var a = “123”; a = Number(a); ...
- JavaScript学习10 JS数据类型、强制类型转换和对象属性
JavaScript学习10 JS数据类型.强制类型转换和对象属性 JavaScript数据类型 JavaScript中有五种原始数据类型:Undefined.Null.Boolean.Number以 ...
- python 全栈开发,Day50(Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏)
一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) Jav ...
- 前端JavaScript(1) --Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏
一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) Jav ...
- javascript学习3、数据类型、数据类型转换、运算符
数据类型包括:基本数据类型和引用数据类型 基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象. 当我们把变量赋值给一个变量时,解析器首先要确认的就是这个值是基本类型值还是引用类型值 ...
- JS 里的数据类型转换
JS的数据类型转换 一.js中的数据类型Js中的数据类型一共有六种,即number,string,boolean,underfine,null,object. 1.Number Number数据类型指 ...
- Objective-C数据类型、数据类型转换
数据类型 1.Objective-C数据类型可以分为:基本数据类型.对象数据类型和id类型. 2.基本数据类型有:int.float.double和char类型. 3.对象类型就是类或协议所声明的指针 ...
- Python基础之模块、数据类型及数据类型转换
一.模块 1.标准库 不需要安装,直接调入使用的模块. import sys模块: import sys print(sys.path) #打印环境变量绝对路径 print(sys.argv) #打印 ...
- (6)java基础知识-基本数据类型、数据类型转换
一.基本数据类型 基本的数据类型一共有四类八种 1.整型 byte: 1字节 取值范围 -128~127 short: 2字节 取值范围 -32768~32767 int: 4字节 取 ...
随机推荐
- 简单的在jsp页面操作mysql
---恢复内容开始--- 上一篇讲了在DOS界面下操作mysql 现在我们来说说怎么在jsp页面中操作mysql 要用jsp页面操作mysql需要jdbc(不是非要jdbc,还有其他的) 下载地址:w ...
- 在windows中python安装sit-packages路径位置 在Pycharm中导入opencv不能自动代码补全问题
在Pycharm中导入opencv不能自动代码补全问题 近期学习到计算机视觉库的相关知识,经过几个小时的探讨,终于解决了opencv不能自动补全代码的困惑, 我们使用pycharm安装配置可能会添加多 ...
- 获取PHP类的所有属性和所有方法,可通过反射机制
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 <?php class Class1{ public $var1 = 'v ...
- 并发队列之ConcurrentLinkedQueue
本来想着直接说线程池的,不过在说线程池之前,我们必须要知道并发安全队列:因为一般情况下线程池中的线程数量是一定的,肯定不会超过某个阈值,那么当任务太多了的时候,我们必须把多余的任务保存到并发安全队列中 ...
- k8s基本命令
kubernetes 常用命令 通过yaml文件创建: kubectl create -f xxx.yaml (不建议使用,无法更新,必须先delete) kubectl apply -f xxx.y ...
- Linux 误删catlina.out导致磁盘空间爆满,无法查询到大文件解决办法
大概是前俩天吧,发现公司的网站不定时的出现接口调不通的情况,便让手下小弟去服务器上查看一下,小弟告我磁盘空间满了,于是我让他处理一下.结果没想到他直接把 catlina.out 给干掉了.后果可想而知 ...
- Ajax等待返回结果时,弹出一个友好的等待提示
巧用Ajax的beforeSend 提高用户体验 jQuery是经常使用的一个开源js框架,其中的$.ajax请求中有一个beforeSend方法,用于在向服务器发送请求前执行一些动作. 具体可参考j ...
- lua学习之语句篇
语句 赋值 修改一个变量或者修改 table 中的一个字段的值 多重赋值,lua 先对等号右边的所有元素进行求值,然后再赋值 值的个数小于变量的个数,那么多余的变量就置为 nil 初始化变量,应该为每 ...
- HDU_1455_dfs
http://acm.hdu.edu.cn/showproblem.php?pid=1455 int dfs(int all,int sum,int now),all代表剩余总长,sum,代表每段长, ...
- python学习(7)关于列表操作相关命令以及浅复制深复制
在python中,[]表示的是列表.列表有各种操作命令. 1.append()方法,添加一个元素到列表尾部. 注意append()方法与extend()方法有区别:list.append(object ...