JavaScript读书笔记(2)--数据类型

1、  严格模式:在javascript中定义了一种不同的解析与执行模型。在严格模式下,一些不确定的行为将得到处理,对某些不安全的操作也会抛出错误。

用法是在脚本中添加:”use strict”;

这是一个编译指示,用于告诉引擎切换到严格模式;

2、  Javascript中的语句,若没有带分号,由解析器确定语句的结尾,但不推荐这么做;

Javascript关键字:

break,case,catch,continue,debugger*,default,delete,do,else,finally,for,function,if,in,instanceof,new,return,switch,this,throw,try,typeof,var,void,while,with;

javascript保留字:

abstract,Boolean,char,class,const,debugger,double,enum,export,extends,final,float,goto,implements,import,int,interface,long,native,package,private,protected,public,short,static,super,synchromized,throws,transient,volatile.

3、  Javascript的变量时松散类型的,可以用来保存任何类型的数据;

使用var操作符定义的变量将成为定义该变量的作用域中的局部变量

不带var定义的变量为全局变量,在函数中时,定义的全局变量很难维护,不推荐这么做;

4、  ECMAScript有5种数据类型(基本数据类型):undefined,null,Boolean,number,string;

还有一个复杂数据类型Object,是由一组无序的名值对组成;

ECMAScript不支持任何创建自定义了类型的机制;

Typeof操作符返回值:typeof(95)或typeof 95

Undefined-这个值未定义(使用var声明变量但未初始化时,未声明变量时

Boolean-布尔值

String-字符串

Number-数值

Object-对象或null

Function-函数

对尚未声明过的变量,只能执行一个操作-typeof,用delete不会导致错误,但没实际意义;

5、  Null值表示一个空对象指针,在保存对象的变量还没有真正保存对象时,应该明确地让该变量保存null值;

Alert(null==undefined);返回true,(undefined值派生自null值)

6、  Number类型

(1)       最小数值-Number.MIN_VALUE  (Infinity)

组大数值-Number.MAX_VALUE  (-Infinity)

isFinite()函数-判断一个数值是否位于最小和最大数值之间

(2)       NaN(Not a Number),表示一个本来要返回数值的操作未返回数值的情况

任何涉及NaN的操作都会返回NaN;

NaN与任何值都不相等,包括它本身;

IsNaN()函数,任何不能被转换为数值的值都会导致这个函数返回true;

在基于对象调用isNaN函数时,会首先调用对象的valueof方法,然后确定该方法返回值是否可以转换为数值;

(3)       数值转换

Number()函数-可用于任何类型

parseInt()函数-适用于字符串,主要看其是否符合数值模式

    忽略前面的空格,直到找到第一个非空格字符,解析到一个非数字字符结束;

    如果第一个字符不是数字符号或负号,返回NaN;

    能解析八进制和十六进制,可以用第二个参数指定多少进制

parseFloat()函数-从第一个字符开始解析每个字符,或遇到无效浮点数为止

    只解析十进制数;

忽略前导的0;

若参数可解析为正说,返回整数;

7、  String,可以用单引号,也可以用双引号字符串是不可变的;

转换为字符串:

toString()方法:null和undefined不可调用数值的调用可以传递一个参数作为输出数值的基数,默认为10,num.toString(2);

String()方法:能将任何类型的值转换为字符串;若值有toString方法,调用该方法,null返回”null”;undefined返回”undefined”;

8、  Object类型,对象就是一组数据和功能的集合;

(1)       创建Object类型的实例并为其添加属性或方法,就可以创建自定义对象;

var o=new Object();   // 等同于var o=new Object;  推荐加圆括号

(2)       Object类型是所有其他实例的基础,Object类型所具有的任何属性和方法也同样存在于更具体的对象中,都具有的属性和方法:

Constructor-保存用于创建当前对象的函数;

hasOwnProperty(propertyName)-检查给定的属性是否在当前对象中存在;

isPrototypeOf(object)-检查传入的对象是否是另一个对象的原型;

propertyIsEnumerable(propertyName)-检查给定属性能否使用for-in语句来枚举;

toLocaleString()-返回对象的字符串表示,与执行环境的地区对应;

toString()-返回对象的字符串表示;

valueOf()-返回对象的字符串、数值或布尔值表示;

ECMAScript中的对象不一定适用于javaScript中的其他对象,浏览器环境中的对象,如BOM和DOM中的对象,都属于宿主对象,不一定继承Object;

posted @ 2015-06-03 23:31  always on the way  阅读(188)  评论(0编辑  收藏  举报