javascript原始类型和引用类型

区别:引用类型值可添加属性和方法,而基本类型值则不可以。

基本类型

基本类型的变量是存放在栈内存(Stack)里的
基本数据类型的值是按值访问的
基本类型的值是不可变的
基本类型的比较是它们的值的比较

引用类型

引用类型的值是保存在堆内存(Heap)中的对象(Object)
引用类型的值是按引用访问的
引用类型的值是可变的
引用类型的比较是引用的比较

 

 

原始类型

原始类型共有以下六种

undefined、null、string、number、boolean、symbo(ES6)

boolean    //布尔,值为 true 或 false  
number     //数字,值为任何整型或浮点型数值
string     //字符串,值为由单引号或双引号包围的单个字符或连续字符(JavaScript 不区分字符类型)
null       //空类型,该原始类型只有一个值:null
undefined  //未定义,该原始类型只有一个值:undefined
symnol     //符号, 表示独一无二的值,最大的用法是用来定义对象的唯一属性名。

鉴别原始类型

鉴别原始类型的最佳方法是使用 typeof 操作符。它可以被用在任何变量上,并返回一个说明数据类型的字符串。

console.log(typeof 'a');           // "string"
console.log(typeof "Nicholas");    // "string"
console.log(typeof 10);            // "number"
console.log(typeof 5.1);           // "number"
console.log(typeof false);         // "boolean"
console.log(typeof true);          // "boolean"
console.log(typeof undefined);     // "undefined"

 

引用类型

Object、Array、RegExp、Date、Function


引用类型是指 JavaScript 中对象,引用值是引用类型的实例,也是对象的同义词。对象实际上是属性的无序列表。属性包含键(始终是字符串)和值。如果一个属性的值是函数,它就被称为方法。JavaScript 中函数其实是引用值,一个包含数组的属性和一个包含函数的属性没有什么区
 

函数是最容易鉴别的引用类型,因为对函数使用 typeof 操作符时,返回值是“function”。

为了更方便地鉴别引用类型,我们使用 instanceof 操作符。instanceof 操作符以一个对象和一个构造函数为参数,如果对象是构造函数所指定的类型的一个实例,instanceof 返回 true;否则返回 false。例如:

console.log(items instanceof Array);       // true
console.log(object instanceof Object);     // true
console.log(reflect instanceof Function);  // true

 

 

鉴别数组

ECMAScript 5 引入了 Array.isArray() 来明确鉴别一个值是否为 Array 的实例,无论该值来自哪里,该方法对来自任何上下文的数组都返回 true

var items = [];

console.log(Arrray.isArray(items));  // true

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值