如果你已经学习了其他任何一种编程语言,那么你对js的各种语法、变量、数据类型将不会感到陌生。
1. 区分大小写:ECMAScript中的一切(变量、函数名、操作符)都区分大小写。
2. 标识符:指变量、函数、属性的名字,或者是函数的参数。
命名规则:第一个字符必须是字母、下划线_或是美元符号$,其他的字符可以是数字、字母、下划线或是美元符号
建议使用驼峰式命名,如userName
3. 注释:使用C风格的注释
//单行注释
/*
这是一个多行
块级注释
*/
4.严格模式
ES5引入了严格模式:语法为:"use strict";
这是一个编译指示、、,在严格模式下,ES3中一些不确定的行为将得到处理,而且对某些不安全的操作也会抛出错误。
5.语句
在JavaScript中,虽然以分号结尾不是必须的,但是为了代码的规范性,我们仍然在一个语句的后面添加上分号,这可以避免很多不必要的麻烦和意外的错误。
而且对于代码块来说,我们需要使用花括号括起来,其实代码块只有一句,也推荐使用花括号括起来,这是一个良好的代码规范。
if(true){
console.log("true") //即使只有一句,仍使用花括号
}
6.关键字和保留字
关键字和保留字不能用作标识符
关键字:break do instanceof typeof case else new var catch finally return void continue function for switch while with this debugger default if in throw in delete try throw
保留字:abstract enum int short boolean export interface static byte extends long super char final native package float synchronized const class goto throws public volatile import transient debugger double implements private
ES5中在非严格模式下对保留字进行了缩减,只有如下:
class enum extends super const export import
在严格模式下,对以下保留字进行了限制:
implements package public interface private static let protected yield
let和yield为ES5新增关键字
7.变量
ECMAScript的变量是松散类型的,可以用来保存任何类型的数据。也就是说每个变量仅仅是一个保存至的占位符而已。定义变量时使用关键字var,例如:
var name;
该变量可以用来保存任何类型的数据,没有进行初始化,会保存一个特殊的值undefined
var messgae ="hi";
注意:使用var变量定义的变量将成为定义改变了的作用域中的局部变量。
funciton test(){
var a = 4; 创建变量a并赋值为4
alert(a); //正确,局部变量
}
alert(a); //错误,变量a只在函数test内有效,函数域外已被销毁
function·test2(){
a = 4; //全局变量
alert(a);
}
alert(a); //正确
虽然省略var可以创建全局变量,但这不是推荐的做法。因为全局变量很难维护。
可以使用一条语句定义多个变量,每个变量用逗号分开。
var a = 4,
messgae = "hi",
flag = true;
代码中的换行好缩进是为了提高代码的可读性。