【白皮书】JS中的基本概念

412 阅读3分钟

关于我们

QQ答疑交流群:
600633658

我们的链接: 知乎 掘金 今日头条 新浪微博 前端网 思否 简书 B站

书写方式

大小写的区分

  • 1.HTML标签是否区分大小写:不区分(规范中要求区分,但是浏览器做了兼容)
  • 2.HTML属性是否区分大小写:不一定(大部分属性是不区分大小写的,包括事件触发涉及到data-之类的属性只能使用小写,因为使用JS取值的时候会转换成驼峰命名)
  • 3.JS是否区分大小写:区分

使用建议:书写HTML要使用小写,特殊的属性使用-连字符。

标识符

什么是标识符

标识符就是名字

如何命名

  • 1.以字母 $ _ 开头,(字母包括任何一个国家的语言,包括汉字,π等)
  • 2.一般使用驼峰式命名

注释

两种方式://或/**/
可以在sublime中添加docblockr插件

运行模式

  • 1.严格模式
  • 2.普通模式

严格模式出现的原因

  • 1.ES5中提出来解决ES3中的不合理之处和怪异的行为
  • 2.更安全高效
  • 3.作为未来的过渡

严格模式的问题

  • 1.只能在ES5下运行(IE10以上的浏览器)
  • 2.不能使用控制台进行调试(因为浏览器控制台的运行是基于eval函数来运行的)
  • 3.兼容性有问题

语句中的括号和分号

分号

JS的解释器会自动为需要添加分号的位置添加分号

编码风格的两个流派

  • 保守派:能加分号就加分号
  • 豪放派:能不加分号就不加分号

解释器如何添加分号(能合并就合并)

  • 1.将当前行和下一行代码进行合并
  • 2.尝试是否能执行
  • 3.如果能执行就不加分号,如果不能执行则加分号再尝试
  • 4.如果还是不能执行就报错

自动添加分号引出的问题

  • 好处:条件判断语句和字符串链接语句的结构能够更加清晰
  • 坏处:括号和运算符开头的语句可能和上一行语句合并

如何避免自动分号问题

在程序的开头添加一个分号

自动添加分号规则的特例

  • 1.遇到return break continue 3个关键字时不会合并(几乎无法调试)
  • 2.++ -- 开头的时候

括号

对于可以包含语句块的语句来说,如果语句块中的语句只有一条,括号可以省略 这样的语句包括:if else for while

使用分号和括号的建议

分号和括号该加的都加上

关键字和保留字

  • 什么是关键字:解释器有特殊用途的名字,不能做为标识符使用
  • 什么是保留字:解释器暂时没有用途,但是以后可能会用到的名字,不能作为标识符使用

如何避免关键字和保留字

1.把所有的关键字和保留字都记住

通过一段时间的开发记住所有的关键字
所有JAVA中的关键字都是JS的保留字
所有的关键字和保留字都是小写字母因此可以采用驼峰式的命名

2.使用拼音命名

变量

初始化变量的过程:只是单纯的赋值,并没有设置数据类型(非常重要)
使用var 和不使用var 的区别(一个是局部变量,一个是全局变量)
可以使用逗号来定义多个变量(建议将逗号写在前面)