Javascript中的五种数据类型详解

Undefined

未定义。只有一个值undefined

Null

只有一个值,null

Boolean
在javascript中,只要逻辑表达式不返回undefined不返回null,就都是真的。

代码如下:

if(3) true
if(null) false
if(undefined) false

Number

String

javascript中不存在char类型。

字符串定义可以用单引号,也可以用双引号。

代码如下:

<html>
<head>
<script type="text/javascript">
//var s="hello";
//alert(typeof s);//s是字符串类型

var s=new String("hello");//s 是对象类型
alert(typeof s);
</script>
</head>        
<body>
</body>
</html>

typeof 是一个一元运算符,用来获得变量的数据类型
其返回值有五个 undefined,boolean,number,string以及object.

其中前面四个都好理解。而最后一个object是让程序员无从判断的,只笼统的返回了object

在javascript中,如果函数没有声明返回值,那么会默认返回undefined。
如果声明了返回值,那么实际返回什么就是什么。

undefined从null派生,所以比较时返回true
               alert(undefined==null);//true

强制类型转换
在javascript中,有三种强制类型转换:

Boolean(value)

Number(value)

String(value)

代码如下:

<html>
<head>
<script type="text/javascript">
var num=Number(3);
alert(num);
var s="hello";
alert(Boolean(s));
var s1=String("hello");
alert(typeof s1);
var obj=new String("hello");//这不是强制类型转换!
alert(typeof obj);
</script>
</head>        
<body>
</body>
</html>

在javascript中,所有的对象都继承自Object对象。

用new 的方式生成。

js中有些方法是可以枚举出来的,有些是不行的。

用js内置方法可以判断,是否可以枚举出来。

代码如下:

<html>
<head>
<script type="text/javascript">
var object=new Object();
for(var v in object){
    console.log(v);
}
alert(object.propertyIsEnumerable("prototype"));//返回了false,表示没有可以枚举的属性,也意味着子对象相应的属性也是不可以枚举的
</script>
</head>        
<body>
</body>
</html>

枚举自定义类型的属性

代码如下:

<html>
<head>
<script type="text/javascript">
var member=function(name,age){
    this.name=name;
    this.age=age;
}
var m=new member("liudh",50);
for(var v in m){
    console.log(v);
    //name
    //age
}
alert(m.propertyIsEnumerable("prototype"));//false
//for(var v in window){
//    console.log(v);
//}
</script>
</head>        
<body>
</body>
</html>

(0)

相关推荐

  • 浅谈javascript六种数据类型以及特殊注意点

    在js中常见的六种数据类型:String类型.Null类型.Number类型.Boolean类型.Object类型. 1.typeof的注意点 涉及到数据类型,不免会提到,操作符 typeof.要注意: 1.typeof是操作符,不是方法.虽然我们经常使用typeof()的方式获取对象的数据类型. 2.对 null 取typeof  是 object(这是因为null是 空的对象引用),对函数取 typeof 是 function 复制代码 代码如下: alert(typeof null);  

  • JavaScript基础知识之数据类型

    数据类型 JavaScript中有5种简单数据类型(也称为基本数据类型):Undefined.Null.Boolean.Number和String.还有1种复杂数据类型--Object,Object本质上是由一组无序的名值对组成的. typeof操作符 介于JavaScript是松散类型的,因此需要有一种手段来检测给定变量的数据类型--typeof就是负责提供者方面信息的操作符.对一个值使用typeof操作符可能返回下列某个字符串: ● "undefined"--如果这个值未定义: ●

  • javascript中的五种基本数据类型

    [0]5种数据类型: [0.1]基本数据类型:Undefined.Null.Boolean.Number.String [0.1.1]基本类型值是指简单的数据段,5种基本类型是按值访问的,因为可以操作保存在变量中的实际值 [0.1.2]基本类型的值在内存中占据固定大小的空间,被保存在栈内存中.从一个变量向另一个变量复制基本类型的值,会创建这个值的一个副本. [0.1.3]不能给基本类型的值添加属性 [0.2]引用数据类型:Object [0.2.1]引用类型值是指那些可以由多个值构成的对象.js

  • javascript的数据类型、字面量、变量介绍

    数据类型: 1.数值型(整型int 浮点型floating) 2.字符串类型(string) 3.布尔型(只有两个值:ture fasle) 字符串字面量 1.转义系列: 在javascript中一些符号是辨别不出来的,只有转义之后正确显示出来.如: \' 单引号 \" 双引号 \n 换行符 \r 回车符 \\ 反斜杠 转义实例: 复制代码 代码如下: <script type="text/javascript"> document.write("hel

  • JavaScript数据类型检测代码分享

    复制代码 代码如下: /**   * param:o表示检测的值   * return:返回字符串"undefined"."number"."boolean"."string"."function"."regexp"."array"."date"."error"."object"或"null&quo

  • 浅谈javascript的数据类型检测

    一.javascript的数据 javascript的数据分为两种:简单数据和复杂数据.简单数据包含number,string,boolean,undefined和null这五种:复杂数据只有一种即object.[此处友情鸣谢李战老师,<<悟透JavaScript>>写得太传神,印象太深刻了] 二.javascript的数据类型检测 1.万能的typeof 我们先测试一下通过typeof来获取简单数据类型.什么也别说了,上代码是王道: 复制代码 代码如下: // 获取变量obj的数

  • JavaScript类型检测之typeof 和 instanceof 的缺陷与优化

    在javascript中,typeof 和 instanceof 是用来判断数据类型比较通用的两个方法,这篇文章的目的是通过对这两个方法介绍来分析其存在的不足并提出优化方案. typeof -------------------------------------------------------------------------------- typeof 返回一个表达式的数据类型的字符串,返回结果为javascript中的基本数据类型,包括:number.boolean.string.o

  • javascript基本数据类型及类型检测常用方法小结

    本文实例讲述了javascript中的基本数据类型以及类型检测的几种方法.分享给大家供大家参考,具体如下: 1.JS中有6种基本的数据类型,JS中的所有操作都是基于这五种基本类型得到的. (1)Object 对象类型 (2)number 数字类型 (3)String 字符串类型 (4)null (5)underfined (6)boolean 布尔类型:true或者为false I)JS中的数据类型转换(非严格模式下) "12"==12 // true 在非严格模式下,字符串可以向数字

  • javascript多种数据类型表格排序代码分析

    中文汉字排序. 中英文混合排序. 数据大小排序. 文件类型排序(后缀名排序) 日期时间排序. 价格排序. 中文混合数字排序; 使用方法:文档载入后new tableListSort(arguments,arguments). 接受两个参数:第一个参数为必须的,可以是字符串ID,也可以是table对象;第二个可选参数,此参数为一个对象,{data:index,fileType:index,fn:function(){}}:对象有三个可选的属性,第一个和第二个为扩展排序的数据类型,第三个参数为排序后

  • 数据类型和Json格式分析小结

    1. 前几天,我才知道有一种简化的数据交换格式,叫做yaml. 我翻了一遍它的文档,看懂的地方不多,但是有一句话令我茅塞顿开. 它说,从结构上看,所有的数据最终都可以分成三种类型: 第一种类型是scalar(标量),也就是一个单独的string(字符串)或数字(numbers),比如"北京"这个单独的词. 第二种类型是sequence(序列),也就是若干个相关的数据按照一定顺序并列在一起,又叫做array(数组)或List(列表),比如"北京,东京". 第三种类型是

  • Javascript isArray 数组类型检测函数

    1.typeof操作符.对于Function.String.Number.Undefined这几种类型的对象来说,不会有什么问题,但是针对Array的对象就没什么用途了: Js代码 复制代码 代码如下: alert(typeof null); // "object" alert(typeof []); // "object" 2.instanceof操作符.此操作符检测对象的原型链是否指向构造函数的prototype对象,恩,听起来不错,应该可以解决我们的数组检测问

随机推荐