Javascript高级程序设计——3.数据类型(1)typeof、null、undefined、boolean、number

来源:互联网 发布:.vip域名备案 编辑:程序博客网 时间:2024/04/27 21:11

1、数据类型种类(6种)

(1)ECMAScript有5种简单的数据类型——

undefined、null、boolean、string、number

(2)ECMAScript有1种复杂的数据类型——

object——本质由一组无序的名值对组成。


2、typeof操作符——

var message="some string";alert(typeof message);   //stringalert(typeof 95);  //number;

功能:返回某个字符串,用于判断变量的数据类型

(1)undefined——这个值未定义

(2)boolean——这个值是布尔值(true、false)

(3)string——这个值为字符串

(4)number——这个值为数值(1,2,3,....n)

(5)object——这个值是对象或null

a、空的对象,表示该对象被创建了,里边没东西,如var box={};

b、空对象,表示没有创建,就是一个null,如var box=null,

(类型返回的字符串是object)

(6)function——这个值是函数

(从技术上角度讲,函数function在ECMAScript是对象,不是一种数据类型)

总结:

typeof操作符操作数既可以是变量,也可以是数值字面量,

注意typeof是一个操作符而不是一个函数,它还可以返回令人迷惑的值

(例如:typeof null,会返回object),null作为空的对象使用。


3、数据类型

(1)undefined

即使用var声明变量,但未对其进行初始化时,该变量就是undefined

示例3-1:

var message;alert(message==undefined);  //true;
上述示例中,定义了message,但未初始化,所以返回true;


示例3-2:

var message;//下边这个变量未声明;//var age;alert(typeof message);  //undefined;alert(typeof age);    //undefined;
上述示例中,message未初始化,age未定义,对于这两类变量,typeof操作符均会返回undefined。

(2)null

定义:从逻辑角度讲,null是一个空对象指针,所以才会出现typeof检测null值时,会返回一个“object”原因。

var car=null;alert(typeof car) ;   //object;
a、若保存对象,先判断是否为空,才可执行操作;

b、在alert(null==undefined);     //true;

注意:null和undefined的区别

只要意在保存对象的类型还没真正保存对象,应该明确让变量保存null值,

体现了null为空对象指针惯例,用于区分null和undefined


(3)boolean

     只有两个字面量,true、false

注意:boolean字面区分大小写,true、false为类型取值,

True、False为标识符。


(4)number

定义:该数值类型用于表示整数、浮点数。

a、整数类型

支持——十进制、八进制、16进制

b、浮点数值

即必须包含有一个小数点,且小数点后必须有一位数字

(注意:做运算时,不应该用浮点数值作为比较运算,不精确。)

b-1:数值范围,若确定是否无穷,可使用isFinite()函数,数值为最大或最小,返回true

b-2:NaN,即非数值,为特殊的数值,任何数值除以非数值,都会返回NaN.

特点——1.任何涉及NaN的操作都返回NaN,

      2.NaN与任何数值都不相等,包括NaN自身

示例b-2:

alert(NaN==NaN);    //返回false;

用函数isNaN(),该函数接受一个参数,用于确定该参数是否“不是数值”,

注意,当它接收参数时,会试图将参数转换为数值,对不会转化为数值的值导致函数返回true。

示例b-2:

alert(isNaN(true));   //false;(true可能被转换为数值1)


b-3:数值转换

有三个函数将非数值转化为数值:number()、parseInt()、parseFloat()

number()——用于任何数据类型,后两者专门将字符串转换为数值

var num1=Number("hello");   //NaN;var num2=Number("");    //0;var num3=Number(000011);   //11,前0省略;var num4=Number(true);  //1;
parseInt()——识别各种数字格式,“0x”开头,为16进制;“0”开头,作为8进制

var num1=parseInt("123cc");  //123var num2=parseInt("");   //NaN;var num3=parseInt("0xA");   //10(16进制数);var num4=parseInt("070");  //56(8进制);var num5=parseInt("70");   //70(十进制)
parseFloat()——从第一个字符开始解析每一个字符,一直解析到字符串末尾,或者解析到遇见一个无效的浮点数字字符为止。

a、字符串中第一个小数点有效,第二个无效

b、它只解析十进制值,

c、若字符串包含可解析的整数,会返回整数;

var num1=parseFloat("123nji");  //123var num2=parseFloat("0xa");  //0var num3=parseFloat("22.34.5");  //22.34var num4=parseFloat("0909.7"); //909.7var num5=parseFloat("3.123e7"); //3.1230000



0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 忘了应用锁密码怎么办 毕业后发现论文有错误怎么办 柯丽尔打胶片时胶片卡住了怎么办 闽教英语要收费怎么办 高一学生英语差怎么办 高一英语基础差怎么办 老师教育学生学生跑出教室怎么办 研究生课题难出论文怎么办 一审过了上诉期怎么办 民事判决赔偿不给钱怎么办 民事申诉期过了怎么办 过了两年申诉期怎么办 微快递下单不能定位怎么办 网上打字兼职被骗了怎么办 微信银行卡转错怎么办 在支付宝被诈骗怎么办 发现被骗了报警不理怎么办 投稿投错了网站怎么办 六个月宝宝吃辅食便秘怎么办 六个月宝宝加辅食后便秘怎么办 婴儿6个月便秘怎么办 7个月的孩子便秘怎么办 四个月宝宝喜欢吃手怎么办 博瑞智教育是上当了怎么办 我43岁记忆力差怎么办 艾灸灸出的湿疹怎么办 饭店合同到期房东不租怎么办 极端暴力控制不住自己怎么办 苹果已停止访问该网页怎么办 qq登陆后隐藏了怎么办 易班密码忘记了怎么办 老师上课讲错了怎么办 专升本差了一分怎么办 登录不上学信网怎么办 steam被好友删了怎么办 护士继续教育学分证丢了怎么办 护士证到期未延续注册怎么办 学籍和户口不在一起小升初怎么办 定了酒店不能退怎么办 去哪儿网酒店不允许取消怎么办 快递寄送身份证扣海关怎么办