javascript学习笔记-数据类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript学习笔记-数据类型相关的知识,希望对你有一定的参考价值。

一 数据类型

  基本类型:undefined,null,boolean,number,string     保存在栈内存中     占用空间固定        变量直接从栈内存中存取的是该值

  引用类型:array,object,function,regexp           保存在堆内存中     占用空间不固定     变量从栈内存中读取指针,再通过指针在堆内存中访问该值

  1.动态属性

    不能给基本类型添加属性或方法

  2.复制变量值

    值类型属于基本类型的变量,复制的是值;值类型属于引用类型的变量,复制的是指针,他们都指向的同一个对象

  3.参数传递

    ECMAScript中所有的函数参数都是按值传递

function setName (obj) 
{
     obj.name = "Mysic";     
}

var person = {};
setName(person);
alert(person.name) // Mysic

//看似是引用。其实仍然是按值传递。
//这里的值指的是对象在栈内存中保存的指针。

function setName(obj)
{
     obj.name = "Mysic";
     obj = {};
     obj.say = "Blabla";                           
}
var person = {}
setName(person);
alert(person.name) //Mysic
alert(person.say) // undefined

//如果是引用传递,那么person应该是指向函数中的新的对象,并存在say属性。实际上并不存在。

 

  4. 检测类型

    基本类型数据用typeof

    引用类型数据用instanceof  Object[,Array,RegExp]

以上是关于javascript学习笔记-数据类型的主要内容,如果未能解决你的问题,请参考以下文章

javascript学习笔记

javascript学习笔记-数据类型

JavaScript学习笔记——JavaScript语法之数据类型

JavaScript学习笔记——基础数据类型和运算符总结

javascript学习笔记一

慕课网JavaScript深入浅出学习笔记之数据类型