javascript数据类型、初始化

时间:2023-03-08 15:59:51
javascript数据类型、初始化

Javascript数据类型有6种:

  1. 数值型数据类型(Number);
  2. 字符串(String);
  3. 布尔型数据(Boolean);
  4. 对象数据(Object);
  5. 空(Null);
  6. 未定义(Undefined)。

(一)、Number

var a = 12;
alert(a);

弹出a的值是12。

var a = 12;
alert(typeof a);

【typeof 是查看变量的类型。】弹出的(类型的返回字符串)是number,说明a的返回参数为number,类型是Number类型【大写字母是数据类型,小写字母是返回参数】

(二)、String    

var a = 'abc';
alert(a);

弹出的a的值是abc。

var a = 'abc';
alert(typeof a);

弹出的(类型的返回字符串)是string,说明a的返回参数为string,类型是String类型。

var a = '2'+'3';
alert(a);

弹出的a的值是23,因为此时的2跟3是一个字符串,也就是2和3合并起来。

var a = '2'+'3';
aert(typeof a);

弹出的(类型的返回字符串)是string,说明a的返回参数为string,类型是String类型。

var a = '2'+3;
alert(a);

弹出的a的值为23。

var a = '2'+3;
alert(typeof a);

返回值(类型的返回字符串)为string,说明此时的a是String数据类型。

var a = '2'+3+4+'5';
alert(a);

弹出的也是2345,因为是按照先后顺序,‘2’+3是一个字符串,字符串再加4还是字符串,字符串加字符串‘5’最终也是字符串。因此为2345。

var a = '2'+(3+4)+'5';
alert(a);

弹出的a的值为275.

var a = '2'+(3+4)+'5';
alert(typeof a);

弹出的返回值(类型的返回字符串)为string,依然还是个字符串数据类型。

var a = '2'-'1';
alert(a);

弹出的a的值为1。因为在js中,只有“-”字符串是相减的。

var a = '2'-'1';
alert(typeof a);

弹出的值(类型的返回字符串)为number,此时为Number数值类型。

var a = '2'-1;
alert(a);

弹出的a的值为1。

var a = '2'-1;
alert(typeof a);

弹出的返回值(类型的返回字符串)为number,此时为Number数值类型。

(三)、Boolean  

var a = true;
alert(a);

弹出的值是true。

var a = true;
alert(typeof a);

返回的值(类型的返回字符串)是boolean。说明数据类型是Boolean类型。

var a= ‘李炎恢’;
alert(Boolean(a));

输出的为true;因为a是字符串,Boolean是布尔值,所以强制转换了;所以输出为true.

(四)、Object

Object数据类型的返回字符串是object,如果变量的值为null或者对象时,返回的字符串都是object,对象的数据类型为Object,null的数据类型为Null。null是Object数据类型的一种

创建一个对象,用{}来创建,也可以用var a = new Object()来创建对象;此时为空的对象,并非空对象,空的对象是指有了对象,但是里面没有值;空对象是null,没有创建对象,什么都没有。

var a = {};
alert(a);

弹出的值是[object Object];

var a= {};
alert(typeof a);

弹出的a的值(类型的返回字符串)是object,值是[object,Object],说明是Object数据类型。

空对象是没有创建,里面是null,什么都没有;

var a = null;

alert(a);

弹出的值是null;

var a= null;
alert(typeof a);

弹出的a的值(类型的返回字符串)是object,说明是Nullt数据类型。

  (五)、Null

第四中提到了,在此不作重复的解释;

var a = null;它的意思是还没创建【对象】,但是声明了对象引用而必须初始化的结果,你还没来得急创建对象,先声明一个对象的变量放在那里,默认初始化为null;举例子如下:

var a = null;
a = {
  1:2
};
alert(a);

弹出的值是[object Object];

var a = null;
a = {
  1:2
};
alert(typeof a);

弹出的值(数据返回字符串)为object,说明是Object数据类型;

  (六)、Undefined

var a; alert(a);

弹出的值是undefined,因为没有没有定义a的值,所以为undefined,但是这个undefined是一个值;

var a;
alert(typeof a);

弹出的a的值(类型的返回字符串)是undefined,说明是Undefined数据类型。

var a = undefined;
alert(a);

弹出的值为undefined,这样做没有必要,因为undefined没有赋值的时候默认是undefined。

  (七)、Function

function a(){

}
alert(a);

弹出的a的值为function a(){ };

function a(){

}
alert(typeof a);

弹出的值(类型返回字符串的值)为function;a是Function函数,但不是Function类型,因为没有Function类型;

  (八)、关于undefined

undefined让我们知道一个道理,不要只声明,不赋值;

var a;
alert(b);

此时会报错,ReferenceError: b is not defined ,b没有被定义,不存在;

var a;
alert(typeof b);

弹出的值(类型的返回字符串)为undefined;

var a;
alert(a);

弹出的值为undefined;

var a;
alert(typeof a);

弹出的值(类型的返回字符串)为undefined,说明是Undefined数据类型

如果是值一个为undefined,一个为报错,typeof中都是undefined,那么,我们要注意,给变量声明的时候一定要赋值,防止发生以上的错误;

  (八)、变量初始化

在(五)中提到了对象的初始化为null,数值的初始化为0,字符串的初始化为空字符串,即(‘’);布尔值初始化一般是false或者true;

  (九)、undefined与null的区别

undefined是派生自null的,打印undefined与null的值,如下:

alert(undefined == null);

弹出的值为true;

为什么呢?undefined是不存在,未定义,null不存在,空的,他们都是空的,所以想等,理所当然是true;undefined是Undefind类型返回的字符串类型为undefined,null是Null类型返回的字符串类型为object,他们的类型不一样,返回字符串也不一样;

alert(undefined === null);

弹出的值为false;

三个等号为恒等,只有数值、数据类型都必须想等,才为true;