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在前面赋值,后面的注释就是相应的类型
JavaScript的每个变量都会有有一个变量值,变量值都有对应的数据类型。在JavaScript中变量有两种不同的数据类型:基本类型和引用类型。在不同的地方对这两种数据类型的称呼也略有不同。比如,基本类型又称之为原始类型(拥有方法的类型或者可变类型),引用类型又称之为对象类型(不能拥有方法的类型或者不可变类型)。不管怎么称呼,都是依据数据类型的特点来命名的。
JavaScript基本类型和引用类型有哪些
基本类型:指的是简单的数据段。在JavaScript中有五种基本数据类型:undefined、null、boolean、number和string。基本类型都是按值访问的,就是说可以操作保存在变量中的实际值
引用类型:对象、数组、函数。对象是属性和方法的集合。引用类型可以拥有属性和方法,属性又可以包含基本类型和引用类型。引用类型的值保存在内存中的对象,JavaScript不能直接操作对象的内存空间,操作对象时,实际上是操作对象的引用而不是实际的对象。引用类型的值是按引用访问的。
javascript的变量是弱类型。闭包:在类似C/C++这种的非函数式编程语言中,也可以定义函数指针并返回,但外层函数在执行结束后为内层函数定义的上下文信息会被销毁,而在闭包中,则保存了返回的函数,还包含返回函数的上下文信息。闭包有两个用途,一是方便实现嵌套的回调函数,二是隐藏对象的细节。
原型链:创建对象时,应该在构造函数内定义一般成员,而是其原型定义成员函数。JS中有两个特殊的对象:Object与Function,它们都是构造函数,用于生成对象。Object.prototype是所有对象的祖先,Function.prototype是所有函数的原型,包括构造函数。可以将JS的对象分为三类:用户创建对象,构造函数对象,原型对象。所有对象中都有一个__proto__属性,其指向此对象的原型。
构造函数对象有prototype,指向其原型对象,通过此构造函数创建对象时,新创建对象的__proto__属性将会指向构造函数的prototype属性。原型对象有一个constructor属性,指向它对应的构造函数。