03月07, 2019

JS基础(2)——基本语法(1)——编程基础

在上一章中,我们回顾了 JavaScript 的发展历史,然后搭建了 JavaScript 的运行环境,并书写了我们的第一个 JavaScript 程序。在本章中,我们会更加深入一点,开始具体的学习 JavaScript 的基础语法。

本章中我们将学习如下的内容:

  • JavaScript 基础语法
  • 变量
  • 简单值和复杂值
  • 作用域
  • 数据类型
  • 运算符

2-1 JavaScript 基础语法

2-1-1 注释

关于注释的作用,这里就不用多说了。之所以书写注释,就是为了让阅读代码的人更加方便。拥有良好注释的代码是专业程序员的标志,它让阅读我们代码的任何人(包括我们自己)能更加容易的理解某一段代码的作用是什么。如果没有注释,往往在几周后,我们回过头来阅读自己写的代码时会发现,自己都看不懂。

在 JavaScript 中,注释可以分为单行注释多行注释
单行注释如下:

//这是一个单行注释

多行注释如下:

/*
 *
 * 这是一个较长的 
 * 多行的注释
 * 
 */

不过,虽然说写注释是一个好习惯,这也不是意味着每一句代码都要写注释。往往我们是针对某一个功能来书写一个注释说明,像下面这样的注释是毫无意义的:

let i = 5; // 将5赋值给i变量

2-1-2 语句

在 JavaScript 中,语句一般我们都会采用以分号结尾,每条语句独占一行的形式来书写代码。当然,如果一条语句后面不添加分号,也不会报错,但是在进行代码压缩的时候可能会带来一些问题。所以还是建议每条语句加上分号。

let i = 10;
console.log(i); // 10

可以使用 C 语言的风格用一对大括号将多条语句组合到一个代码块里面。

{
    let i = 10;
    console.log(i); // 10
}

2-1-3 标识符

所谓标识符,就是指用来标识某个实体的一个符号。再说通俗一点,就是自己起一个名字,这个名字可以用来作为变量名,函数名,对象名等。在 JavaScript 中,虽然说标识符是自己取名字,但是也是需要遵守一定的规则,其命名的规则大致可以分为2大类:硬性要求软性要求

硬性要求

  1. 可以是由数字,字母,下划线和美元符号组成,不允许包含其他特殊符号
  2. 不能以数字开头
  3. 禁止使用JavaScript中的关键词和保留字来进行命名
  4. 严格区分大小写

软性要求

  • 望文知意

命名的3种方法

1. 匈牙利命名法

匈牙利命名法是微软公司下面以为匈牙利籍的程序员所发明的命名法则,其特点是标识符的名字以一个或者多个小写字母开头,表示了该变量的数据类型。匈牙利命名法中特定字母所对应的含义如下表:

数据类型 对应前缀
Array数组 a
Boolean布尔 b
Float浮点 f
Function fn
Interger(int)整型 i
Object对象 o
Regular Expression正则 re
String字符串 s

前缀之后的是一个单词或多个单词的组合,该单词表明变量的用途。例如:

a_array,o_object,i_userAge,b_isPassed

2. 驼峰命名法

驼峰命名法实际上分为两种,一种是大驼峰,另外一种是小驼峰。

大驼峰又被称之为帕斯卡命名法,就是每一个单词都是首字母大写。例如:

UserName

小驼峰和大驼峰的区别在于,小驼峰的第一个单词的首字母是小写,后面单词的首字母是大写,例如:

userName

3. 蛇形命名法

这种命名法常见于Linux内核,C++标准库,Boost以及Ruby,Rust等语言。蛇形命名法的特点在于单词与单词之间使用下划线进行分隔。例如:

user_name,my_first_name

2-1-4 关键字和保留字

首先需要弄清楚关键字和保留字的区别是什么。

ECMA-262 描述了一组具有特定用途的关键字。这些关键字可用于表示控制语句的开始或结束,或者用于执行特定操作等。按照规则,关键字是语言本身所保留的,不能用作标识符。

ECMA-262 还描述了另外一组不能用作标识符的保留字。尽管保留字在这门语言中还没有任何特定的用途。但它们有可能在将来被用作关键字。

JavaScript中的关键字与保留字如下:

abstract、await、boolean、breakbytecasecatchcharclassconstcontinue、
debugger、defaultdeletedodoubleelseenumexport、extends、falsefinalfinallyfloatforfunctiongotoif、implements、importin、instanceof、intinterface、let、long、native、newnullpackageprivateprotectedpublicreturnshortstaticsuperswitchsynchronizedthisthrow、throws、transient、
truetrytypeof、var、volatilevoidwhilewith、yield

2-1-5 数据类型介绍

在 JavaScript 中,数据类型整体上来讲可以分为两大类:简单数据类型复杂数据类型

简单数据类型,一共有6种:

string,symbol,numberbooleanundefinednull

其中 symbol 类型是在 ES6 里面新添加的基本数据类型。

复杂数据类型,就只有1种:

object

包括 JavaScript 中的数组,正则等,其类型都是 object 类型。

查看数据类型

在JavaScript中,我们可以通过typeof运算符来查看一个数据的数据类型,如下:

console.log(typeof 10); // number
console.log(typeof true); // boolean
console.log(typeof 'Hello'); // string
console.log(typeof [1,2,3]); // object

本文链接:http://www.yanhongzhi.com/post/js-basis-2.html

-- EOF --

Comments