1. js变量要区分大小写。比如test和Test代表的是不同变量
2.标识符:包括变量名,函数名,属性名字,或者函数的参数。
标识符的规格要求:1.必须要以字母开头(不论大小写)、美元符号$、下划线。比如:Test test _test $test都是合法的标识符。
2.后面的字符则可以是字母,数字,美元符号,下划线等。 在书写标识符的时候最好按照驼峰式规则来命名。(第一个字母和单词首字母大写,比如 MyCar等等)
3.语句:语句结尾必须是 ; 但是在es6可以省略这个符号
4.变量: ECMAScript的变量是松散型的,也就是说变量可以保存各种类型的数据,每个变量也就是一个占位符。变量定义的时候要用 var 声明。 变量之间可以互相赋值,比如 var hi="hi"; hi=100; 这样不会报错,但是并不推荐使用。 一点需要注意的是
var 声明的变量是局部变量,变量在函数退出后就会被销毁。 比如
function test(){
var message="hi";
}
test();
alert(message); //这个就会发生错误。
如果message不用var声明就会创建成全局变量,但是这种方法并不被推荐。因为这种全局变量会导致以后维护困难,而且在严格模式下,会抛出错误。
在声明变量的时候,可以同时声明多个,比如 var message="hi", a=100, age=20;变量之间只需要用逗号分隔开。
5.数据类型 js有5种简单类型(也称为基本类型) Boolean, Number, String,Null, undefined。还有一个复杂类型 object
typeof操作符,用来检测变量的类型。有6个类型 string(字符串) number(数字) boolean(布尔) object(null 或者对象) function(函数) undefined(未定义)
5.1 undefined 只有一个值那就是一开始在用var声明的时候,并未对其进行初始化。
比如 var message; alert(message==undefined);//true 、
相当于把 var message=undefined;
5.2 null 表示的是一个空对象指针,所以在用typeof的时候会返回object, 比如 var test=null; alert(typeof(test)); //会输出object。 如果变量是用来保存对象的话,最好一开始null,这样的话只要检测null 就能知道变量是否保存了对象的引用。另外undefined是派生的null,因此在相等测试的时候alert(null==undefined) //输出true
5.3 boolean 表示布尔值,只有true和false两个值,但是这两个值并不表示数值,也就是说true 并不一定是1,false不一定是0
别的数据类型可以调用Boolean()函数来转换数值,string类型 非空为true 空为false 。number类型 非零为true ,0和NaN为false,object 对象为true,null为false。undefined n/a为true,undefined为false。
6.Number类型 八进制第一位必须为0而且八进制在严格模式之下不可以使用,十六进制必须以0x开头
NaN (not a number)非数值。用来表示本来要返回数值的但是未返回的情况,这样的话不会抛出异常。(表示的是一种情况)。
6.1 NaN的任何操作都会返回NaN,而且NaN不会和任何值相等,包括自己本身。alert(NaN==NaN); //false
isNaN( )函数用来检查一个参数,是不是NaN,任何不能转化为数值的参数都会返回true。
6.2 数值转换,包括三个函数 Number(),parsetInt() parsetFloat()。Number()用来把任何类型的变量转换为数值,后面的parsetInt() parsetFloat()则只能用于字符串。
7. String类型 字符串是不可改变的,一旦创建就不能改变。 转换为字符串的两个方法,tostring()和String()
toString()用来返回相应的字符串,但是null和undefined不能返回,这个时候要用String()能够将所有的值转换为字符串
var s=null; var sr; alert(String(s)); //null alert(String(sr));//undefined