js高级部分
-----JavaScript高级程序设计 1.typeof操作符 : 用来检测给定变量的数据类型 如果用来判断引用类型对象,那么永远都返回Object类型 举例:type() 判断时可以加 ( ) 也可以不加 ( ); "undefined"--未定义 "boolean"--布尔值 "string--字符串 "number"--数值 "object"--对象或者null "function"--函数. 2.Undefined类型 在使用var声明变量但未对其初始化时, 这个变量的值就是undefined. 3.Null类型 : 只是一个值 从逻辑角度看:null值表示一个空对象指针, 这也正是使用typeof操作符 检测null值会 返回object的原因. var car=null; alert( typeof (car)) //"object" 实际上,undefined值是派生自null值的, 因此对他们的相等性测试返回 true. alert(null==undefined) //返回true 4.Boolean类型 只有两个值: true和false ,区分大小写 要将一个值转换为其对应的Boolean值, 可以调用转型函数Boolean(). 5.NaN类型 NaN非数值,是一个特殊的数值,两个特点: 1.任何实际NaN的操作(例如 NaN/10)都会 返回NaN, 2.NaN与任何值都不相等,包括NaN本身, 都会返回false; alert(NaN==NaN); //false isNaN()函数,接受一个任意类型的参数, 该函数判断 参数 是否" 不是数值",接收 到一个值后会尝试将这个值转换为数值, 任何不能转换为数值的值 都会导致函数 返回true(不是数值.) 举例: alert(isNaN("10")) //false alert(isNaN("blue")) //true 6.在基于对象调用isNaN()函数时,会首先调用 对象的valueOf()方法,然后确定该方法返回 值是否可以转换为数值,如果不能,则基于这 个返回值再调用toString()方法,再测试返回值 而这个过程也是ECMAScript中内置函数和 操作符的一般执行流程. 7.数值转换函数3个: Number()转型函数,可以用于任何数据类型 boolean值:true--1 , false--0 null值: 返回0 数字值:简单的传入和返回 undefined: 返回NaN 字符串: 字符串为空:转换为0 字符串 包含有效的16进制,转换为相同大小的十进制整数值 字符串包含浮点:转换对应的浮点型 字符串包含除以上之外字符:转换为NaN 对象:在基于对象调用isNaN()函数时,会首先调用 对象的valueOf()方法,然后确定该方法返回 值是否可以转换为数值,如果不能,则基于这 个返回值再调用toString()方法,再测试返回值 而这个过程也是ECMAScript中内置函数和 操作符的一般执行流程 parseInt() , parseFloat():专门用于把字符串 转换成数值.
8.String类型: string类型用于表示由0或多个16位Unicode字符组成的字符序列, 即 字符串. 可以由双引号或单引号表示
转义序列可以出现在字符串的任意位置, 而且将被作为 一个字符 来解析
字符串的不可变型: var lang="Java"; lang=lang+"Script"; 实现过程: 首先创建一个能容纳10个字符的新字符串,然后在这个 字符串中填充Java和Script,最后一步是销毁原来的字符创Java 和字符串Script,因为这两个字符串已经没有了,
toString()方法可以传入参数,输出 二进制,八进制,十六进制等
转型函数String(),能够将任何类型的值转换为字符串, 规则如下: 1.如果有toString()方法,则调用该方法(没有参数)并返回相应结果 2.如果是null,则返回"null" 3.如果值是undefined,则返回"undefined" null与undefined没有toString()方法,所以String()函数返回字面量
9.Object类型: 一组数据和功能的键值对的集合. 通过new关键字创建对象. 包含成员:constructor构造函数 hasOwnProperty("属性") : 判断当前对象是否有该属性.