JS 的一些基础小知识

​今天我们要主要学习三个看似很简单的内容,分别是:

  • 区分大小写

  • 如何加注释

  • 什么是变量

下面我们来单独说一说这三个问题。

区分大小写

众所周知,在 HTML 中我们是不用区分大小写的,虽然 W3C 要求各个浏览器规范大小写,但在实际中,浏览器兼容了 HTML 中的大小写问题。但是在 JS 当中,是必须区分大小写的。在实际的开发中,这点一般不会出什么问题,因为我们一般是把 JS 文件和 HTML 文件分离开的。但在某些情况下,我们需要把 JS 文件写在 HTML 中,这个时候应不应该区分大小写,或者说应该怎样区分大小写?

当我们在 HTML 中插入 JS 代码的时候,我们一般是设置一个点击事件——onclick,这个时候 onclick 是不需要区分大小写的,但是 onclick 的值是要区分大小写的。(我们可以这么想:onclick 的值实际上就是 JS 代码,而 JS 代码无论何时都是要区分大小写的。)

什么是变量

在说到变量之前,我们要提到一个更大的概念——标识符。

什么是标识符?用书中的话来说:标识符就是指变量、函数、属性的名字,或者函数的参数。

其实书中已经说的很明白了,按我自己的理解就是代码中一切可使用的东西的名称。标识符按照下列格式规则来命名:

  • 第一个字符必须是一个字母,下划线(_)或一个美元符号($);

  • 其他字符可以是字母,下划线,美元符号或者数字。

从概念上我们可能会很清楚其命名规则,但是在第一条规则中会有这么一个问题:汉字算字母么?

答案是算的。在 JS 历史那一节中我们说过,在规范 JS 时其中有一个要求是 JS 全面支持 Unicode 的编码。那么包括汉字在内的所有语言字符都算是字母。只不多我们在平时的开发中我们不推荐使用汉字。

注释

一般在编程语言中都有两种注释:单行注释和块级注释,在 JS 当中也是如此。单行注释以两个反斜杠开头:

 
 
  1. // 单行注释

块级注释以一个反斜杠和一个星号开头(/)开头,以一个星号和一个斜杠结尾(/):

 
 
  1. / *

  2.  *  这是一个块级注释

  3.  *

  4.  * /

严格模式

在 JS 中你可以以两种模式来运行代码:普通模式和严格模式。这两种模式的差别还是很大的,我们今天不具体的说这两种模式细节上的差别,我们先来说一说在使用上应该注意些什么。

书中说到,如果要对整个脚本使用严格模式,那么你可以在顶部添加如下代码:

 
 
  1. "use scrict";

如果要对某个函数使用严格模式,可以在函数内部上方编辑这条编译指令:

 
 
  1. function doSomething (){

  2.    "use scrict";

  3.    //函数体

  4. }

语句

JS 当中的语句是以一个分号结尾,如果我们省略分号,解释器将会自行确定语句的结尾。

那么 JS 解释器是按照什么样的规则来自行确定分号的呢?
如果当前行代码能与下一行代码合并一起执行,那就放在一起;如果不能一起执行,就在中间加一个分号再执行,如果还不能执行,就报错。

这种情况有两种例外:
1.在遇到 return break continue作为单独行时,将直接中断执行,不会判断当前行能否与下一行合并。所以当你在 return 一个东西的时候,我们一定要把返回的值写在 return 后面。
2.在涉及到 ++ --的代码时。有如下实例:

 
 
  1. a=1

  2. b=2

  3. a

  4. ++

  5. b   //a = ?  b = ?

解析这段代码的关键之处在于 ++是和 a 合并成 a++,还是和 b合并成一个 ++b

按照我们刚才说到的 JS 解释器的添加分号原则,那 ++应该与上一行合并,但是实际未然,在实际中, ++是和下面的 b合并:

 
 
  1. a=1

  2. b=2

  3. a

  4. ++

  5. b   //a = 1  b = 3

对于括号,我们要记住的只有一点:能加尽量加!

关键字和保留字

可能很多初学者对关键字和保留字这两个概念的定义很模糊,知道关键字和保留字有什么,但不知道为什么会有这么个东西?
其实这一点很好理解:我们前面提到了标识符,也就是变量、参数、函数等的名字。原则上满足标识符规则的名称都应该是合法的,但是代码中毕竟有一些英文单词,例如 return break alert等具有特殊的含义的单词,那么这些具有特殊含义的单词就不能作为标识符了—— 一个单词总不能有两种含义吧。基于这样的考虑,我们把 JS 代码中有特殊含义的单词总结出来,取名为关键字,意思是指这些单词在 代码中意义非凡,不便于作为标识符。

理解了关键字之后那么保留字就容易理解了:

因为一些单词官方考虑到在以后的更新中可能会变成关键字,所以也把这些单词总结出来作为保留字

关键字,保留字那么多,我应该如何在实际开发中避免呢?

  1. 简单粗暴:记住。

  2. 采用驼峰式的命名方式。

  3. 使用拼音。

  4. JAVA 中所有关键字都是 JS 当中的保留字。

关于变量

JS 当中的变量是松散类型的,所谓松散类型就是可以用来保存任何类型的数据。如:

 
 
  1. var massage = "hi";

书中说到:

像这样初始化变量并不会把他标记为字符串类型;初始化的过程就是给变量赋一个值那么简单。

意思就是说 massage 的数据类型是不确定的,他只是跟着后面的值变化而变化。

关于局部变量和全局变量

说到局部变量和全局变量,就不得不提作用域了,我们将在下次的推送中了解 JS 的编译原理和作用域,在这里我们就不做详述了。

我们只需记住一句话:用 var定义的就是变量就是局部变量(其实用var定义的变量写在全局作用域内也是全局变量),不用 var定义的变量就会自动生成全局变量。

在用 var定义多个变量的时候,最好把逗号写在前面

 
 
  1. var message = "hi",

  2.    found = false,

  3.    age = 29;

这样写其实并不容易检查,写成下面的方式更好一些:

 
 
  1. var message = "hi"

  2.    ,found = false

  3.    ,age = 29;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值