JavaScript的每个变量都会有有一个变量值,变量值都有对应的数据类型。在JavaScript中变量有两种不同的数据类型:基本类型和引用类型。在不同的地方对这两种数据类型的称呼也略有不同。比如,基本类型又称之为原始类型(拥有方法的类型或者可变类型),引用类型又称之为对象类型(不能拥有方法的类型或者不可变类型)。不管怎么称呼,都是依据数据类型的特点来命名的。
JavaScript基本类型和引用类型有哪些
基本类型:指的是简单的数据段。在JavaScript中有五种基本数据类型:undefined、null、boolean、number和string。基本类型都是按值访问的,就是说可以操作保存在变量中的实际值
引用类型:对象、数组、函数。对象是属性和方法的集合。引用类型可以拥有属性和方法,属性又可以包含基本类型和引用类型。引用类型的值保存在内存中的对象,JavaScript不能直接操作对象的内存空间,操作对象时,实际上是操作对象的引用而不是实际的对象。引用类型的值是按引用访问的。
js中变量类型是由后面的值确定的,以下教大家如何知道当前变量的类型。具体方法如下。
具体步骤
复习一下变量都有哪些类型
JavaScript中变量有number, string, boolean, object, function, undefined
考察什么情况是哪种类型
使用 typeof 属性,可以返回变量的类型
如:
<script type="text/javascript">
var a = 12
//alert(typeof a) //number
a = "asdf"
//alert(typeof a) //string
a = true
//alert(typeof a) //boolean
a = function() {
alert("adfasdf")
}
//alert(typeof a) //function
a = document
//alert(typeof a) //object
var b
alert(typeof b) //undefined
</script>
变量a在前面赋值,后面的注释就是相应的类型
1、使用typeof检测,当需要判断变量是否是number,string,boolean,function,undefined等类型时,可以使用typeof进行判断。
2、使用instanceof检测,instanceof运算符与typeof运算符相似,用于识别正在处理的对象的类型。与typeof方法不同的是,instanceof方法要求开发者明确地确认对象为某特定类型。
3、使用constructor检测,construction本来是原型对象上的属性,指向构造函数。但是根据实例对象寻找属性的顺序,若实例对象上没有实例属性或方法时,就去原型链上寻找,因此,实例对象也是能使用constructor属性的。