JS基础知识(基本类型 引用类型)

1,js中的  基本类型 引用类型

 javascript中有两种变量类型:基本类型和引用类型,基本类型包括:Number、String、Undefined、Null、Boolean这五种,而引用类型就是Object
 
1.引用类型相对基本类型可以为其添加属性方法
 
var person = new Object();

person.name = “Nicholas”;

alert(person.name); //”Nicholas”

 

var name = “Nicholas”;

name.age = 27;

alert(name.age); //undefined
 
2.基本类型被复制于另一个变量时,会在该变量对象创建一个新值,然后把值复制到为新变量分配的位置上,而引用类型引用的都是同一个对象。
 
var num1 = 5;

var num2 = num1;

 

var obj1 = new Object();

var obj2 = obj1;

obj1.name = “Nicholas”;

alert(obj2.name); //”Nicholas”

JS基础知识(基本类型 引用类型)   JS基础知识(基本类型 引用类型)

3.函数的参数都是按值传递, 传参为基本类型时,参数传进后,即被创建为新的,与函数外之前定义的毫不相干。而如果传的参数为引用类型,即是一个新创建的对象,则于 之前传入的值引用的是同一(对象)地址,函数内如果对其发生改变,会影响函数外的那个值,但如果再此基础上函数内再创建一个新的对象,不 会再改变函数外的那个值,因为此时创建的对象,就是引用的一个局部变量了,在函数执行完过后就会被销毁!~
 
function addTen(num) {

num += 10;

return num;

}

var count = 20;

var result = addTen(count);

alert(count); //20 - no change

alert(result); //30

 

 

function setName(obj) {

obj.name = “Nicholas”;

}

var person = new Object();

setName(person);

alert(person.name); //”Nicholas”
 
 
4.检查基本类型用typeof  检查引用类型,同时为什么类型的对象,alert(a instanceof Object/Array/RegExp)结果true或者flase;
var s = “Nicholas”;

var b = true;

var i = 22;

var u;

var n = null;

var o = new Object();

 

alert(typeof s); //string

alert(typeof i); //number

alert(typeof b); //boolean

alert(typeof u); //undefined

alert(typeof n); //object   注意null 返回的也是object

alert(typeof o); //object
 
关于object,我们可能需要关心的是Object的种类,所以这里就使用 instanceof
alert(person instanceof Object); //is the variable person an Object?

alert(colors instanceof Array); //is the variable colors an Array?

alert(pattern instanceof RegExp); //is the variable pattern a RegExp?

 

你可能感兴趣的:(引用类型)