01.JavaScript 面向对象精要--原始类型和引用类型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了01.JavaScript 面向对象精要--原始类型和引用类型相关的知识,希望对你有一定的参考价值。
一.什么是类型
javascript 虽然没有类的概念。但依然存在两种类型:原始类型和应用类型。
原始类型保存为简单的数据值,引用类型则保存为对象,其本质是指向内存位置
的引用。也就是说:原始值被直接保存在对象内,而引用值则作为一个指针保存在
对象内,该指针指向实际对象在内存中的储存位置。
二.原始类型
2.1 JavaScript中5中原始类型:boolean,number,string,null,undefined
原始类型变量直接保存原始值(而不是一个指针),当你将原始值赋值给一个变量
时,该值将复制到变量中。
1 var color1 = ‘‘red; 2 var color2 = color1; //将color1的值复制一份给变量color2 3 color1 = ‘blue‘; 4 console.log(color1); //‘blue‘ 5 console.log(color2); //‘red‘
2.2 鉴别原始类型
鉴别原始类型的最佳方法使用typeof操作符。
2.3 原始方法
虽然字符串、数字、布尔值是原始类型,但是它们拥有方法(underfined和null没有)
1 console.log(typeof ‘hello‘); //‘string‘ 2 console.log(typeof 10); //‘number‘ 3 console.log(typeof 5.1); //‘number‘ 4 console.log(typeof true); //‘boolean‘ 5 console.log(typeof underfined); //‘underfined‘ 6 console.log(typeof null); //‘object‘ 判断一个值是否为空,直接和null比较 7 console.log(null == underfined); //‘true‘; 8 console.log(null === underfined); //‘false‘;
三.引用类型
3.1 创建对象
1 var o1 = new Object(); 2 var 02 = create.Object(); 3 var o3 = {};
3.2 对象引用解除
3.3 添加删除属性
3.4 内建对象实例化
1) Array //数组类型,以数字为索引的一组值的有序列表
2) Date //日期和时间类型
3) Error //运行期错误类型
4) Function //函数类型
5) Object //通用对象类型
6) RegExp //正则表达式类型
3.5 对象和数组字面量形式
1 var o = { 2 naem : ‘hello‘, 3 age : 1 4 }; 5 var arr = [1,2,3];
3.6 函数字面形式
1 function ref(value){ 2 return value; 3 }; 4 var ref2 = new Function(‘value‘,‘return value;‘)
3.7 正则表达式字面形式
1 var numbers = /\d+/g; 2 var numbers2 = new RegExp("\\d+","g");
3.8 访问属性
1 var arr = []; 2 arr.push(123); 3 var arr2 = []; 4 arr2["push"](123);
3.9 鉴别引用类型
函数可以使用typeof而数组和对象则使用instanceof操作符
1 var arr = []; 2 var o = {}; 3 function f(){}; 4 console.log(arr instanceof Array) //true 5 conlole.log(o instanceof Object); //true 6 console.log(f instanceof Function) //true
3.10 鉴别数组 使用Array.isArray();
1 var arr = []; 2 console.log(Array.isArray(arr)); //true
四.原始封装类型
原始封装类型共有3种(Number,String,Boolean)
1 var name = ‘Nicholas‘; 2 var temp = new String(name); 3 temp.last = ‘Zakas‘; 4 temp = null; 5 console.log(temp.last) //underfined
临时对象仅在值被读取时创建
以上是关于01.JavaScript 面向对象精要--原始类型和引用类型的主要内容,如果未能解决你的问题,请参考以下文章