PHP有八大数据类型——String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值),Resource(资源类型)。
JS数据类型有哪些?确切地说有6种:5个基本数据类型,1个复杂数据类型。
基本数据类型:数值型(number)、字符型(string)、布尔型(boolean)、未定义型(undefined)、空型(null)
复杂数据类型:对象(object),数组是对象的一部分。
5个基本数据类型快速了解:
一、数值型(number)
数值型变量有三种值:整型(整数)、浮点型(小数)、NaN。(相当于把PHP的整数型和浮点型当成了一种数据类型)
NaN:
数值型变量与PHP不同之处,还有一个特殊的值,是NaN(not a number),注意大小写。
“NaN”用于表示 一个本来要返回数值的操作,在不能正确返回数值的情况下会返回NaN(这样就不会抛出错误了)。
什么情况下,会返回NaN数值?
在将其它数据类型转成数值时,转不过去时,将返回NaN的值。(后面会讲)
NaN本身有两个非同寻常的特点。首先,任何涉及NaN的操作(例如NaN/10)都会返回NaN,这个特点在多步计算中有可能导致问题。其次,NaN与任何值都不相等,包括NaN本身。
进制数:
在JS中不仅支持十进制数字写法,也支持八进制、十六进制数字写法(和PHP一样的表示形式)。如:
八进制: var score = 023; 2*8+3=19的十进制数
十六进制: var color = 0x25; 2*16+5=37的十进制数
额外了解:
1)在JS中有个最大数和最小数,
最大:Number.MAX_VALUE;
最小:Number.MIN_VALUE;
“Number”和前面的“window”、“document”一样是内置对象,“MAX_VALUE”、“MIN_VALUE”是“Number”对象的属性。
2)无穷大数 Infinity
二、字符型(string)
字符串型和PHP的字符串型没什么区别,都很好理解。
唯一不一样的地方:PHP的单引号和双引号有些细微的区别,而JS中用来引起字符串的单引号和双引号没有区别,用哪一个都可以。
和PHP一样,字符串中支持使用转义符。
三、布尔型(boolean)
布尔型是两个状态,两个值,分别为true、false。一般用于if条件判断语句中。在JS中,当然也支持if控制语句。
特别注意:在JS中布尔值是区分大小写的,只能全部小写,这点和PHP是不一样的。
四、未定义型(undefined)
变量定义了,但未赋值时,将返回未定义型,只有一个值undefined。
这个数据类型PHP是没有的。
五、空型(null)
Null类型是第二个只有一个值的数据类型,这个特殊的值是null。
从逻辑角度来看,null值表示一个空对象指针,而这也正是使用typeof操作符检测null时会返回object的原因。
一个对象不存在时,将返回空,其实就是一个空对象,只有一个值null。
注意:typeof(null) = “object”
var a = null;
在PHP中判断一个变量是什么类型要用到这些函数:
在JS中要简单点,一个运算符就OK。
描述:typeof是一元运算符,主要是判断变量的数据类型。
语法:typeof name 或者 typeof(name)
返回值:是一个字符串,返回的字符串结果只有6种。
1)“number”,数值型变量
2)“string”,字符型变量
3)“boolean”,布尔型变量
4)“undefined”,未定义型
5)“object”,对象的变量
6)“function”,是一个函数变量