1、javascript区分大小写
2、所谓标识符,就是指变量、函数、属性的名字,或者函数的参数。
- 第一个字符必须是一个字母、下划线(_)、或一个美元符号$
- 其他字符可以是字母、下划线(_)、美元符号$或数字。
不能把关键字、保留字、true、false和null作标识符。
3、var操作符定义的变量将成为该变量的作用域中的局部变量,如果在函数中var定义,那么这个变量在函数退出后就会被销毁。
虽然在函数内容省略var操作符可以定义全局变量,但是不推荐。很难维护,由于变量不会马上就有定义导致不必要的混乱,在严格模式下会抛出ReferenceError错误。
4、数据类型:
javascript有5种简单数据类型(也称基本数据类型)Undefined、Null、Boolean、Number和String
用typeof操作符可以检测给定变量的数据类型:
var message="some thing"; alert(typeof message); //"string" alert(typeof 95); //"number"
1)Undefined类型
Undefined类型只有一个值,就是undefined。使用var声明变量但未对其加以初始化时,这个变量的值就是undefined。
对于尚未声明的变量,只能执行一项操作,即typeof检测其数据类型。
so,即便未初始化的变量会自动被赋予undefined值,但显示地初始化变量依然是明智的选择。如果能做到这一点,那么当typeof操作符返回“undefined”值时,我们就知道被检测的变量还没有被声明,而不是尚未初始化。
var message; alert(message==undefined); //true alert(age); //会报错!!! alert(typeof message); //undefined alert(typeof age); //undefined
2)Null类型
Null类型也是只有一个值,即null。表示一个空对象指针,所以typeof一个为null值的变量返回的是“object”
alert(null==undefined); //true
如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为null而不是其他值。换句话说,只要意在保存对象的变量还没有真正保存对象,就应该明确地让该变量保存null值。这样做不仅可以体现null作为空对象指针的惯例,而且也有助于进一步区分null和undefined。
3)Boolean类型
Boolean类型只有两个字面值:true和false。如果要将一个值转换为其对应的Boolean值,可以调用转型函数Boolean()
数据类型 | 转换为true的值 | 转换为false的值 |
Boolean | true | false |
String | 任何非空字符 | “”(空字符串) |
Number | 任何非零数字值(包括无穷大) | 0和NaN |
Objec | 任何对象 | bull |
Undefined | 不适用 | undefined |
4)Number类型
①浮点数值
对于极大或极小的数值,可以用e表示法(即科学计算法)。
浮点数值计算会产生舍入误差问题:浮点数值的最高精度是17位,但在进行算术计算时,其精确度远远不如整数。例如:0.1+0.2的结果不是0.3,而是0.30000000000000004。
so,永远不要测试某个特定的浮点数值
var a=0.1,b=0.2,c=0.15,d=0.15; alert(a+b); //0.30000000000000004 alert(c+d); //0.3
②数值范围
javascript能够表示的最小数值保存在Number.MIN_VALUE中,这个值是5e-324;
最大数值保存在Number.MAX_VALUE中,这个值是1.7976931348623157e+308;
在javascript计算中如果得到一个超出javascript数值范围的值,那么这个数值将被自动转换成特殊的Infinity值,即如果这个数值是负数,则被转换为-Infinity(负无穷),如果为正数,则是Infinity(正无穷)
③NaN