1、数据和类型java
俗话说物以类聚,人以群分;这里将人和物都按类别进行了区分。咱们数据也同样,使用计算机咱们能处理数值,也能够处理文本还能够处理图形、音频、视频等各类各样的数据,不一样的数据有着各自所属的类型。这就是咱们说的数据类型。 JavaScript是一门弱类型语言。咱们会在各类JS入门书籍中看到这句话;通俗解释,当咱们在JavaScript定义一个变量时,是不会预先设定好这个变量里面存储什么类型的数据(可参考js变量中和java的对比),通通只能使用 var 来声明变量,此时以不变应万变,任何类型的数据均可存入该变量中。注意:在JavaScript中,变量没有类别之分,但数据有。
2、JS数据类型
下面就来看看JS中的数据类型,在js中定义了以下几种数据类型:大方向上分为 基本数据类型(简单数据类型) 和 引用数据类型(复杂数据类型)。今天介绍如下几种基本数据类型。函数
一、Number(数值型)
JavaScript不区分整数和浮点数,统一使用Number来表示数值。spa
321; // 整数321
3.24 ; // 浮点数 3.14
1.1314e5; // 科学计数法表示 1.1314*100000,结果为113140
NaN ; // NaN表示Not a Number,当没法计算结果时,使用NaN表示
Infinity ; // 表示无限大,当数值超过了JavaScript的数值型能表示的最大范围时,使用Infinity表示 prototype
数值型数据主要用来作四则运算,数值型数据能够直接作四则运算,规则和数学一致:code
1+1; // 2
(3+5)*0.5; //4
1/0 ; // Infinity
0/0; //NaN
1%2; //1 %取余 视频
二、String(字符串)
字符串是用单引号(’)或双引号(”)括起来的任意文本对象
‘hello’ ; // hello 文本
“world”; // world 文本 图片
注意:单引号或双引号并非文本内容,只是一种表示方式而已。ip
三、Boolean(布尔型)
布尔值也称逻辑类型只有两个值,true或false;作逻辑判断时只能是布尔值(直接布尔值或转换为布尔值)。原型链
true ; // 这是一个true值
false; //这是一个false值
1>2 ; // 这是一个 false值
0<=1 ; // 这是一个 true值
四、null和undefined
null表示一个空的值, 表示自己为“空”,只有一个值 null,undefined也表示无,不少时候来讲,null和undefined都表示“无”的值,区分二者的意义不大。大多数状况下咱们应该使用null。undefined仅仅在判断函数参数是否传递的状况下有用。全部已声明可是没有初始化的变量,默认值都为undefined。
a = null ; // a里面的值为空
a = undefined; // 不建议这么写, 此时和 a = null 几乎没什么区别
目前用法,null 表示“没有对象”,即该处不该该有值。
(1) 做为函数的参数,表示该函数的参数不是对象。
(2) 做为对象原型链的终点。
Object.getPrototypeOf(Object.prototype); //结果为 null
undefined表示“缺乏值”,就是此处应该有一个值,可是尚未定义。
(1)变量被声明了,但没有赋值时,就等于undefined。
(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。
(3)对象没有赋值的属性,该属性的值为undefined。
(4)函数没有返回值时,默认返回undefined。
var i;
i // undefined
function f(x){console.log(x)}
f() // undefined
var o = new Object();
o.p // undefined
var x = f();
x // undefined
3、数据分类
数据怎么分类?为何分类?分类给谁看?
一、怎么分类
经过数据的书写(定义)格式和关键(特殊)字
二、为何分类
不一样类型能够作不一样运算,符合现实的处理方式。
正常来讲只有对于数值型咱们进行四则运算才能得出正常的结果,而对于字符串类型的数据,则不能正常运算。
好比:你如今有100块钱,我又给了你100块钱,用两种不一样的数据类型进行计算将获得不一样的结果。(固然这时你可能但愿结果是第二种,但。。。现实很骨感)
三、分类给谁看
给计算机看,在现实中,人们会根据场景将数据进行分类,但是计算机不会, 它须要根据一些依据来断定数据究竟是什么类型,根据不一样的类型对数据作相应的运算,最终得出它认为正确的结果。
4、查看数据类型
虽然数据自己有类型,可是变量是没有类型的,因此一个变量能够在不一样时刻存储不一样类型的数据,咱们能够经过变量(或数据自己)来得到计算机对该变量中数据(或数据自己)的类型的分类。经过 ”typeof” 操做符告诉咱们计算机此刻认为该数据是什么类型。
typeof是一个一元运算符,它返回的结果 始终是一个字符串,对不一样的操做数,它返回不一样的结果。
字面值,则返回该字面值所属的类型(根据书写格式);变量,则返回变量中此刻存储的数据的类型
注意: null自己属于object类型,因此typeof(null)会返回”object”;而当对undefined或一个声明了但未赋值的变量或者一个未声明的变量使用typeof时,则返回”undefined”。此时 undefined 只是一个字符串而已,不能算做是一种数据类型的名称。上海尚学堂java组原创,请多关注!