JavaScript基本概念
语法
1.1 区分大小写
- js中,区分大小写
- 在html,事件名不区分大小写
- Html5中,date属性,所有的都会转化为小写,如果你定义的时候用的大写,取值的时候还是要用小写
1.2 标识符
- 第一个字符必须是一个字母(世界上任何一种语言)、下划线、或是一个美元符号
- 其他字符可以是字母、下划线、美元符号、数字
1.3 注释
- 单行注释 //
- 块级注释 /* */
一般编辑器会自带这种功能
1.4 严格模式
ECMAScript5引入了严格模式(strick code)的概念。 在严格模式下,ECMAScript3中的一些不确定的行为将得到处理,而且对某些不安全的操作也会跑出错误。 有两种方式使用
- 在整个代码块的第一行,也就是顶部添加 “use strict”,那么下面所有的代码都是用严格模式运行
- 在函数内部使用,在函数的第一行
1
2
3
4
Function() {
"use strict";
// doing something
}
另外值得注意的是,在使用严格模式,代码合并压缩的时候,比方说有两个js,第一个使用严格模式,第二个正常模式,那么压缩后整个代码都是严格模式。
为了解决这个问题,通常把严格模式放在一个匿名函数里。
另外如果你在浏览器控制台中调试严格模式的代码,那么下面所有的代码也都会变成严格模式。所以建议这个时候单独写一个js,运行之后再调试。
严格模式的兼容性不是特别好,比方说要IE10以上和现代浏览器。如果不支持,运行结果可能不一样
1.5语句
- 括号
- 分号 如果你不加分号,js解释器会给你加上分号。
那么解释器什么时候会自动给你加上分号呢?
js解释器在处理这种不是以分号结尾的语句时,有一个通用的原则,解释器会先去判断后面的代码能否跟当前的代码放在一起执行,如果能,就合并,如果不能,就给加上分号,如果还是不能执行,就报错。
如果某一行代码不是以分号结尾,下一行代码是括号开头,解释器会当作一个函数来执行。这个时候运行的结果就不是预期的。 为了避免这种结果,加上分号。
比方说你看到很多框架的时候,在最开始的时候会加上分号。为了避免前面有些没加分号的代码,导致错误。
当然也有一些例外,
- 涉及到return, break, continue三个关键字的时候,不会和下面的代码合并,会直接结束运行 比方说在平常开发中,会把return返回的值另起一行,这样返回的值就是空的
- ++,–
请看下面的例子
1
2
3
4
5
var a=1
var b=2
a
++
b
然后现在a和b的值是多少? ++这个运算符是跟上面的a一起运行呢还是跟下面的b一起运行呢?
++和–是一个例外,会跟下面的代码合并在一起,而不是跟上面的代码。 所以上面的结果是a=1,b=3 所以建议是,能写分号的地方就写上分号。
1.5 关键字和保留字
避免使用关键字和保留字
- 所有有Java开发经验的话,所有Java中的关键字都是保留字
- 命名的时候采用驼峰式的命名
- 使用拼音,虽然看起来比较low,但是比较好用
1.6 变量
其中有一点需要注意的是,
1
var message = ‘hi’;
像这样初始化变量并不会把它标记为字符串类型;初始化的过程就是给变量赋一个值那么简单。
因此修改变量值的同时可以修改变量的类型。
但是你用typeof去查的时候,返回的是string。在使用的时候,它才会去动态的去查当时的类型。
在定义变量的时候使用var是局部变量,不使用时全局变量。
在现在的框架开发过程中,是必须使用var,或者const,let的