js的六大数据类型
2018-06-24 01:50:31来源:未知 阅读 ()
js中有六大数据类型,包括五种基本数据类型number、boolean、null、undefiined、string和混合数据类型object
我们可以用typeof操作符来检测变量的数据类型(输出的是一个关于数据类型的字符串)
1 var a=1; 2 console.log(typeof a);//number 3 var b="hello"; 4 console.log(typeof b);//string 5 var c=true; 6 console.log(typeof c);//boolean 7 var d=null; 8 console.log(typeof d);//object(null是空对象引用或者说是指针) 9 var e=undefined; 10 console.log(typeof e);//undefined 11 var f=function(){ 12 document.write("hello world"); 13 }; 14 console.log(typeof f);//function 15 var g=[1,2,3]; 16 console.log(typeof g);//object
以上代码中,null进行typeof操作符后,结果是object,是因为null被当做一个空对象引用。
1、string类型
在string类型中,单引号和双引号的作用效果完全一;
string类型有length属性,可以获取字符串的长度。var str = “hello”;console.log(str.length);//5
string类型的值是不可变的,要改变一个字符串的值,首先要销毁原来的字符串,然再用另一个包含新值的字符串填充该字符串
1 var lang="java"; 2 lang+="script"; 3 console.log(lang);//javascript
上面这段代码。先创建一个长度为10的字符串,然后把“java”和“script”填充进去,得到“javascript”,最后销毁“java”和“script”,这个过程发生在后台
字符串转换:转型函数String()适用于任何数据类型(null、defined转换后为null和defined),toString()方法(null和defined没有toString()方法)
2、number类型
number类型包含整数和浮点型(浮点型数值必须包含一个小数点且小数点后至少有一位数字)
可以用一个值-0来将其转换成一个数字
浮点数会自动转换为整数
var a = 1.00; console.log(a);//1 var b=0.1,c=0.2; console.log(b+c);//0.30000000000000004
这里出现出现0.1+0.2不等于0.3的原因是十进制到二进制的转换导致的精度问题。使用了IEEE754浮点数格式”来存储浮点类型(float 32,double 64)的任何编程语言都有这个问题。
NaN:非数字类型 特点:1、涉及到任何关于NaN的操作,都会返回NaN 2、与自身不相等
isNaN()用来确定一个值是否为NaN 若isNaN()的参数不是number类型,isNaN()首先会尝试将该参数转换为数值类型,然后对转换后的结果是否为NaN进行判断。空字符串和布尔值可以强制转换为数值类型0或1,所以返回false
isNaN(NaN); // true isNaN(undefined); // true isNaN({}); // true isNaN(true); // false isNaN(null); // false isNaN(37); // false // strings isNaN("37"); // false: 可以被转换成数值37 isNaN("37.37"); // false: 可以被转换成数值37.37 isNaN("37,5"); // true isNaN('123ABC'); // true: parseInt("123ABC")的结果是 123, 但是Number("123ABC")结果是 NaN isNaN(""); // false: 空字符串被转换成0 isNaN(" "); // false: 包含空格的字符串被转换成0 // dates isNaN(new Date()); // false isNaN(new Date().toString()); // true isNaN("blabla") // true: "blabla"不能转换成数值 // 转换成数值失败, 返回NaN
Number()转型函数,可以用于任何数据类型;
parseInt(),将值转换为整型,用的比较多;
parseFloat();将值转换为浮点型。
后面两者只能 用于字符串
3、Boolean类型
该类型只有两个值,true和false
Boolean():将某个值转换为Boolean类型。
如果逻辑对象无初始值或值为0、-0、false、undefined、null、""、NaN,那么对象的值为false,否者其值都为true(即使当自变量的值为字符串“false”时);
1 console.log(Boolean(0));//false 2 console.log(Boolean(NaN));//false 3 console.log(Boolean(null));//false 4 console.log(Boolean(undefined));//false 5 console.log(Boolean("false"));//true
4、null类型
null是一个对象,但是为空,所以typeof null的时候,结果为object
null在参与数值运算的时候会自动转换为0参与运算
如果定义的变量用来保存对象,最好将该变量初始化为null
实际上undefined值是派生自null值的,所以undefined==null
类型转换:Boolean(null)//false
Number(null) //0
String(null) //'null'
注意:null是空对象指针,{}是空对象,[]是空数组,三者不一样。
null不能添加自定义属性
5、undefined类型
只有一个值即undefined,使用了var声明变量,但未给变量初始化值,那么这个变量的值就是undefined。
var a="hello world"; var b; console.log(typeof a);//string console.log(typeof b);//undifined
出现场景:1、已声明未赋值的变量
2、获取对象不存在的属性
3、无返回值的函数的执行结果
4、函数的参数没有传入
类型转换:Boolean(undefined)//false
Number(undefined) //NaN
String(undefined)//'undefined'
6、object类型
object 属于引用数据类型
对象是带有属性和方法的特殊数据类型
js中的所有事物都是对象:字符串,数组,函数等。js也允许自定义对象。暂不多介绍
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 如何用javascript连接access数据库 2020-03-20
- 如何用算法删除重复数据 2020-03-18
- JavaScript中双向数据绑定详解 2020-03-05
- 浅谈JS的基础类型与引用类型 2020-02-29
- jQuery实现异步获取json数据的2种方式 2019-12-25
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash