NaN与Infinity和-Infinity不一样的是,NaN不会与任何数值变量相等,能够用javaScript专门提供的isNaN()函数来判断某个变量是否为NaN。javascript
Undefined类型的值只有undefined一个,该值用于表示某个变量不存在,或者没有为其分配值,也用于表示对象的属性不存在。Null用于表示变量的值为空。java
Undefined表示没有为变量设置值,而null表示将变量值设为空。数组
实际上,不少时候undefined和null自己就是相等,即null==unfefined将返回true,如查咱们要精确区分null和undefined应该考虑使用精确等于符(===)浏览器
定义一个变量后,若是没有为该变量赋值,则该变量的值默认为undefined,这个值是系统默认分配的,该问对象并不存在属性时,该属性值也将返回undefined.函数
与null不一样的是,undefined并非javaScript的保留字,他是一个全属变量,某些浏览器可能不支持undefined值,此时能够在javascript脚本的第一行定义以下它。spa
复合类型是由多个基本数据类型组成的数据体,javascript中的复合类型大体上有以下三种:object对旬,Array数组,Function函数。设计
Javascript的数组中元素的类型能够不相同,定义一个数组有以下三种语法格式:对象
Var a=[3,5,6];ip
Var b=[];ci
Var c=new Array();
javaScript做为动态弱类型语言,其数组概括起来有三个物征:
javascript数组的长度可变。
同一个数组里数组元素的类型能够互不相同
该问数组元素时不会产生数组越界,访问并未赋值的数组元素时,该元素的值为undefined.
Javascript的函数声明中,参数列表不须要数据类型说明,函数的返回值也不须要数据类型说明。
javaScript中的函数与java中的方法有以下区别:
javascript函数无须说明返回值类型,
javascript函数无须声明形参类型,
javascript中的函数能够独立存在,无须属于任何类。
Javascript函数必须使用function关键字定义。
赋值语句自己是有值的,赋值语句的值就是=右边的被赋的值,所以,赋值运算符支持连续赋值,经过使用多个赋值运算,能够一次为多个变量赋值。
Void运算符用于强行指定表达式不返回值以下:
A=void(b=5,c=7,d=56);
Typeof运算符用于判断某个变量的数据类型,可做为函数用,还能够做为一个运算符来有使用。与typeof相似的运算符还有instanceof,该运算符用于判断某个变量是否为指定类型的实例,若是是,则返回true ,不然返回false.
在javascript中,变量的做用域有全局(window对象)做用域和函数调用做用域。
如下变量具备全局做用域
1.全部在最外层定义(非函数体内定义)的变量都拥有全局做用域
2.全部末定义直接赋值的变量,系统会自动声明为拥有全局做用域的变量
3.全部window对象的属性拥有全局做用域
如下变量具备函数做/用域
1.在函数体内部用var定义的变量,这里要注意一点,只要是在函数里定义的变量,就算是在最后一句定义,该变量也拥有整个函数的做用域。
javaScript中的函数与java中的方法区别:
一、 javaScript函数无须声明返回值类型。
二、 javaScript函数无须声明形参类型。
三、 javaScript中函数能够独立存在,无须属于任何类。
四、 javaScript函数必须使用function关键字定义。
当++在操做数的右边时,先执行算术运算,而后对操做数执行自加运算,当++在操做数的左边时,先执行自加,而后再执行算术运算。
Void运算符用于强行指定表达式不返回值。
虽然语句块相似于一条单独的语句,但语句块后不须要以分号结束。
与java不一样的是,javaScript的异常没有java那么丰富,javaScript的全部异常都是Error对象,当javaScript 须要抛出异常时,老是经过throw语句抛出Error对象,以下
Throw new Error(errorString);
能够在代码执行过程当中抛出异常,也能够在函数定义中抛出异常,代码执行过程当中,一旦遇到异常,当即寻找对应的异常捕捉块(catch块),若是没有对应的异常捕捉块,异常将传递给浏览器。
概括起来,javascript异常机制与java异常机制存在以下区别:
一、 javaScript中只有一个异常类Error,无须在定义函数时声明抛出该异常,因此没有throws关键字。
二、 javaScript是弱类型语言,因此catch语句后括号里的异常实例无须声明类型。
三、 javaScript只有一个异常类,因此try块后最多只能有一个catch块。
四、 获取异常的描述信息是经过异常对象的message属性,而不是经过getMessage()方法。
javaScript是一代种基于对像的脚本语言,代码复用的单位是函数,但它的函数比结构化设计语言的函数功能更丰富。javaScript语言中函数就是一等公民,它能够独立存在,并且javaScript的函数彻底能够做瓬为一个类来使用(并且它仍是该类惟一的构造器),所以函数的功能很是丰富
函数能够有返回值,也能够没有返回值。函数的返回值使用return语句返回。
javaScript提供了Function类,该类也能够用于定义函数,Function的构造器的参数个数能够不受限制,Function能够接受一系列的字符串参数,其中最后一个参数是函数的执行体,执行体的各语句以分号隔开,而前面的各字符串参数则是函数的参数。
还有一种定义匿名函数的方式,能够无须使用Function类,而是直接使用function类键字。