Javascript 的范例
6种原型数据范例
js有6种原型数据范例( null
,undefined
,boolean
,number
,string
,Symbol
)
null – 空
null只要null一个值,示意一个空对象指针。平常用来初始化变量(即先定义出一个变量,在此之后用于保留对象)。
在Javascript的运转环境里不会发生null值,除非你在代码中有显式的赋值(通常情况下你获得的会是undefined而不是null,只要一个破例就是document.getElementById,它会在找不到元素的情况下返回null)。有控制的运用undefined来替换null会更轻易追踪bug。
var as = null;//undefined
console.log(as);//null
接见它的任何属性都邑失利。
null.asd
//Uncaught TypeError: Cannot read property 'asd' of null(…)
null没法装箱(把基础数据范例转换为对应的援用范例的操纵称为装箱,把援用范例转换为基础的数据范例称为拆箱)。
undefined – 未定义
当接见一个对象中不存在的属性时就会获得一个undefined。
document.nonexistent //undefined
接见它的任何属性也都邑失利。
undefined.asd
//Uncaught TypeError: Cannot read property 'asd' of null(…)
undefined没法装箱。
string – 字符串
‘asd’,”asd”(运用单引号和双引号都可)。
字符串在作为String的实例时会举行装箱操纵(
new String('asd');
)。
number – 数字
比方:5,3e+10(一切数字都是浮点型的,尤其是分数,然则可以用x >>> 0来掏出整数位)。
数字在作为Number的实例时会举行装箱操纵。
boolean – 布尔
有2个值(true和false)。
布尔范例在作为Boolean的实例时会举行装箱操纵。
symbol – 布尔
Symbol ( 在 ECMAScript 6 中新增加的范例)。一种数据范例,它的实例是唯一且不可转变的。
别的3种基于Object对象的援用范例
object – 对象
比方:{foo: ‘bar’, bif: [1, 2]},是真正的哈希表。
总是会装箱。
是Object的实例。
function – 函数
比方:function(x) { return x + 1;}。
一定装箱。
Function的实例。
array- 数组
比方:[1, 2, “foo”, [3, 4]]。
总是会举行装箱。
是Array的实例。
RegExp – 正则表达式
比方:/foos*([bar]+)/。
总是会装箱。
是RegExp的实例。
剖断范例
由于js是松懈范例(数据范例具有动态性),我们平常用typeof来审定 变量的值 的范例。
对一个值运用typeof能够返回
undefined(未定义)
boolean(布尔)
string(字符串)
number(数值)
object(对象或
null
)【typeof null会返回object,由于特别值null会被认为是一个空对象的援用】function(函数)