一、基础规范
1.建议在每一个语句通过分号;结束,没有;浏览器会以换行符作为语句的结束;多个语句可以放在同一行,通过分号隔开即可。
2.单行注释://注释内容
多行注释:/*注释内容*/
3.通过大括号{ }标志代码块
4.段落内换行 \ ,但是不允许在字符串中间换行
5.大小写敏感
二、变量
1.变量区分大小写,且首字符只能是字母、下划线、$三者之一
2.变量为弱类型,使用前必须通过var声明变量,声明变量时指定名称即可,不需指定类型;如果声明变量时不用var则表示为全局window全局变量,例如x=3,要访问x需要通过window.x
3.变量可以在声明时赋值,也可以在声明后赋值
4.可以同时声明多个变量,用逗号隔开
5.变量命名规则,js中推荐使用Camel驼峰法的命名规则
①Camel标记法,首字母小写,其他单词首字母大写,例如var myTestValue='good'
②Fascal标记法,首字母大写,其他单词首字母也大写,例如var MyTestValue='good'
③匈牙利类型标记法,在Fascal标记命名的变量名称前加一个小写字母表示类型,例如例如var sMyTestValue='good',var sMyTestNum=138
三、数据类型
1.基本数据类型
Number:整型和浮点型,子类型NaN表示not a number
String:字符串类似python的字符串,可通过下标访问,下标从0开始,例如s=‘hello’,则s[2]='l'
Boolean:true和false,分别表示1和0
Null:只有一个值null,用于表示尚未存在的对象,可以实例化一个对象并定义值为null表示清空对象内容,如果函数返回值为对象但该对象不存在则通常返回null
但是通过typeof null得到的类型为object
Undefined:只有一个值undefined,引用只声明未赋值的变量,或者将没有返回值的函数赋值给变量
null和undefined值相同但类型不同,即null==undefined为真,而null===undefined则为假
2.引用数据类型
object,除了上述5中情况,其他的都是object类型
例如数组var array=[40, 5, 25, 10],类似python的列表,可通过下标访问,下标由0开始,array[2]=25
对象person={name:"John", age:50, eyeColor:"blue"},类似python的字典,可通过下标或者.的方式获取值,person['name']=‘John’,person.age=50
函数function myFunction(a, b) { return a * b;}等
基本数据类型直接存放在栈中,引用数据类型是将数据地址存放在栈中,根据地址获取值。
四、算数运算符
+加、-减、*乘、/除、%余、=赋值
+还可以表示字符串的凭借,-还可以表示负号
++自增,--自减
五、比较运算符
>大于、<小于、
==等于,只比较值不比较类型,例如数字10和字符串'10'是相等的,即10='10'返回true、!=和<>值不等于
===绝对等于即值和类型都等于、!==不绝对等于,即值和类型有一个不等
NaN参与数值计算,结果为NaN,例如NaN+4,结果为NaN
NaN参与大小比较,只有!=为true,其他都为false,例如NaN>5结果为false,NaN!='hi'结果为true
六、条件运算符
variablename=(condition)?value1:value2
例如age=(age>18)?'成年人':'未成年人'
七、逻辑运算符
&&与、||或、!非
八、位运算符
<<左移、>>右移,~异或