js数据类型,空值,比较

来源:互联网 发布:桌面图标收纳软件 编辑:程序博客网 时间:2024/06/11 10:52
JavaScript有5种原始类型:Undefined、Null、Boolean、Number、String。可以用typeof运算符判断一个值是否表示一个原始类型。比如:alert(typeof 1); //输出number
这里需要注意的是:alert(typeof null); //输出的是object 。在网上找到了一个解释:null被认为是对象的占位符,但仍然算做原始数据类型


1.Undefined类型
Undefined类型只有一个值就是undefined。当声明变量未初始化,该变量默认就是undefined。
<script type="text/javascript">
var temp;
alert(typeof(temp)); //显示undefined
alert(typeof(temps));//显示undefined
alert(temp == temps);//不会显示true
</script>
以上虽然2个变量都显示一样的结果,但是temps才是真正未定义的。


<script type="text/javascript">
function a(){
return 1;
}
alert(a() == undefined); //显示false
function b(){
}
alert(b() == undefined); //显示true
</script>
如果函数没有返回值,也会显示undefined


2.Null类型
Null类型(空型)只有一个值就是:null。
<script type="text/javascript">
alert(null == undefined); //显示true
</script>
undefined实际上是从值null派生来的,所以显示true
undefined是声明了变量但是未赋值,null是找不到对象。


3.Boolean类型
非0即真:0可以看成false,比如下题:显示测试
<script type="text/javascript">
if(111){
alert("测试"); //显示测试
}
</script>


4.Number类型
<script type="text/javascript">
alert(Number.MAX_VALUE); //显示最大值
alert(Number.MIN_VALUE); //显示最小值
</script>
Number类型中的所有值都在这个最大和最小值之间。如果非数字NaN(Not a Number)是一个特殊的值。判断是否是数字用isNaN()
<script type="text/javascript">
alert(isNaN(-1)); //false
alert(isNaN("a")); //true
</script>


5.String类型
理论上String可以无限制存Unicode字符。赋值时双引号和单引号都一样,如:
var a = "test";

var b = 'test';


6.Object类型

  对象其实就是一组数据和功能的集合。对象可以通过执行new操作符后跟要创建的对象类型的名称来创建。而创建Object类型的实例并为其添加属性和(或)方法,就可以创建自定义对象。

  var o = new Object();

  Object的每个实例都具有下列属性和方法:

  ● constructor——保存着用于创建当前对象的函数

  ● hasOwnProperty(propertyName)——用于检查给定的属性在当前对象实例中(而不是在实例的原型中)是否存在。其中,作为参数的属性名(propertyName)必须以字符串形式指定(例如:o.hasOwnProperty("name"))

  ● isPrototypeOf(object)——用于检查传入的对象是否是另一个对象的原型

  ● propertyIsEnumerable(propertyName)——用于检查给定的属性是否能够使用for-in语句来枚举

  ● toString()——返回对象的字符串表示

  ● valueOf()——返回对象的字符串、数值或布尔值表示。通常与toString()方法的返回值相同。

原创粉丝点击