版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
对于任何东西的学习,搞懂其实很简单,并不需要话太多的时间或者精力,但是想理解得深 些、透彻些
却很难,需要花时间、花精力去悟,很多时候看别人的东西不一定能懂,所以必要 要有自己的理解。
这里我就js的数据类型谈谈自己的理解,对于初学者来讲,js数据类型应该是最先接触到的知识点,
罗列一下 大致有这几种类型 number string boolean function object undefined,在ES6中新增了
symbol这种类型,在这里不做讨论,首先看第一种 number
var m=111;
console.log(typeof m)//输出number
m="aaa";
m=parseInt(m);
console.log(m);//输出NaN
console.log(typeof m);//输出number
console.log(typeof NaN);//输出number
这里我想说的是parseInt将一个字符串转化为数字后,在控制台打印该数据为NaN,NaN即not a number ,
但是打印改数据的类型依然是 number,parseInt能够将一个字符串类型强行转化为number类型,但是转化的值
并不是一个数字。
第二种类型,string字符串类型;
字符串加上任何类型的东西最终的结构都是字符串,另外我想说的是关于字符串对象 new String()这个方法,
这里我个人觉得很不好理解,字符串和对象是两种完全不同的数据类型,甚至可以说是互斥的,那看看下面的
例子。
var m = new String("abc");
console.log(m);//输出 为String对象
console.log(typeof m);//输出Object
在这里 我的理解是 new String是创建字符串对象的一种方法
第三种类型 function function其实也是一个对象,他是构造函数Function的一个实例,这篇博客 我写到 这里不想再写了,因为飘哥说,纠结这些东西对开发没有任何帮助,我觉得我不应该在这个徘徊了,在以后的日子了慢慢沉淀 加以理解。