javascript数据类型、初始化
Javascript数据类型有6种:
- 数值型数据类型(Number);
- 字符串(String);
- 布尔型数据(Boolean);
- 对象数据(Object);
- 空(Null);
- 未定义(Undefined)。
(一)、Number
1 2 | var a = 12; alert(a); |
弹出a的值是12。
1 2 | var a = 12; alert( typeof a); |
【typeof 是查看变量的类型。】弹出的(类型的返回字符串)是number,说明a的返回参数为number,类型是Number类型【大写字母是数据类型,小写字母是返回参数】
(二)、String
1 2 | var a = 'abc' ; alert(a); |
弹出的a的值是abc。
1 2 | var a = 'abc' ; alert( typeof a); |
弹出的(类型的返回字符串)是string,说明a的返回参数为string,类型是String类型。
1 2 | var a = '2' + '3' ; alert(a); |
弹出的a的值是23,因为此时的2跟3是一个字符串,也就是2和3合并起来。
1 2 | var a = '2' + '3' ; aert( typeof a); |
弹出的(类型的返回字符串)是string,说明a的返回参数为string,类型是String类型。
1 2 | var a = '2' +3; alert(a); |
弹出的a的值为23。
1 2 | var a = '2' +3; alert( typeof a); |
返回值(类型的返回字符串)为string,说明此时的a是String数据类型。
1 2 | var a = '2' +3+4+ '5' ; alert(a); |
弹出的也是2345,因为是按照先后顺序,‘2’+3是一个字符串,字符串再加4还是字符串,字符串加字符串‘5’最终也是字符串。因此为2345。
1 2 | var a = '2' +(3+4)+ '5' ; alert(a); |
弹出的a的值为275.
1 2 | var a = '2' +(3+4)+ '5' ; alert( typeof a); |
弹出的返回值(类型的返回字符串)为string,依然还是个字符串数据类型。
1 2 | var a = '2' - '1' ; alert(a); |
弹出的a的值为1。因为在js中,只有“-”字符串是相减的。
1 2 | var a = '2' - '1' ; alert( typeof a); |
弹出的值(类型的返回字符串)为number,此时为Number数值类型。
1 2 | var a = '2' -1; alert(a); |
弹出的a的值为1。
1 2 | var a = '2' -1; alert( typeof a); |
弹出的返回值(类型的返回字符串)为number,此时为Number数值类型。
(三)、Boolean
1 2 | var a = true ; alert(a); |
弹出的值是true。
1 2 | var a = true ; alert( typeof a); |
返回的值(类型的返回字符串)是boolean。说明数据类型是Boolean类型。
1 2 | var a= ‘李炎恢’; alert(Boolean(a)); |
输出的为true;因为a是字符串,Boolean是布尔值,所以强制转换了;所以输出为true.
(四)、Object
Object数据类型的返回字符串是object,如果变量的值为null或者对象时,返回的字符串都是object,对象的数据类型为Object,null的数据类型为Null。null是Object数据类型的一种
创建一个对象,用{}来创建,也可以用var a = new Object()来创建对象;此时为空的对象,并非空对象,空的对象是指有了对象,但是里面没有值;空对象是null,没有创建对象,什么都没有。
1 2 | var a = {}; alert(a); |
弹出的值是[object Object];
1 2 | var a= {}; alert( typeof a); |
弹出的a的值(类型的返回字符串)是object,值是[object,Object],说明是Object数据类型。
空对象是没有创建,里面是null,什么都没有;
1 2 3 | var a = null ; alert(a); |
弹出的值是null;
1 2 | var a= null ; alert( typeof a); |
弹出的a的值(类型的返回字符串)是object,说明是Nullt数据类型。
(五)、Null
第四中提到了,在此不作重复的解释;
var a = null;它的意思是还没创建【对象】,但是声明了对象引用而必须初始化的结果,你还没来得急创建对象,先声明一个对象的变量放在那里,默认初始化为null;举例子如下:
1 2 3 | var a = null ; a = {<br> 1:2<br>}; alert(a); |
弹出的值是[object Object];
1 2 3 4 5 | var a = null ; a = { 1:2 }; alert( typeof a); |
弹出的值(数据返回字符串)为object,说明是Object数据类型;
(六)、Undefined
var a; alert(a);
弹出的值是undefined,因为没有没有定义a的值,所以为undefined,但是这个undefined是一个值;
1 2 | var a; alert( typeof a); |
弹出的a的值(类型的返回字符串)是undefined,说明是Undefined数据类型。
1 2 | var a = undefined; alert(a); |
弹出的值为undefined,这样做没有必要,因为undefined没有赋值的时候默认是undefined。
(七)、Function
1 2 3 4 | function a(){ } alert(a); |
弹出的a的值为function a(){ };
1 2 3 4 | function a(){ } alert( typeof a); |
弹出的值(类型返回字符串的值)为function;a是Function函数,但不是Function类型,因为没有Function类型;
(八)、关于undefined
undefined让我们知道一个道理,不要只声明,不赋值;
1 2 | var a; alert(b); |
此时会报错,ReferenceError: b is not defined ,b没有被定义,不存在;
1 2 | var a; alert( typeof b); |
弹出的值(类型的返回字符串)为undefined;
1 2 | var a; alert(a); |
弹出的值为undefined;
1 2 | var a; alert( typeof a); |
弹出的值(类型的返回字符串)为undefined,说明是Undefined数据类型
如果是值一个为undefined,一个为报错,typeof中都是undefined,那么,我们要注意,给变量声明的时候一定要赋值,防止发生以上的错误;
(八)、变量初始化
在(五)中提到了对象的初始化为null,数值的初始化为0,字符串的初始化为空字符串,即(‘’);布尔值初始化一般是false或者true;
(九)、undefined与null的区别
undefined是派生自null的,打印undefined与null的值,如下:
1 | alert(undefined == null ); |
弹出的值为true;
为什么呢?undefined是不存在,未定义,null不存在,空的,他们都是空的,所以想等,理所当然是true;undefined是Undefind类型返回的字符串类型为undefined,null是Null类型返回的字符串类型为object,他们的类型不一样,返回字符串也不一样;
1 | alert(undefined === null ); |
弹出的值为false;
三个等号为恒等,只有数值、数据类型都必须想等,才为true;
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步