JavaScript学习笔记一


目标是学习 NodeJs 爬虫,所以先来回顾下 JavaScript 的基础知识点。第一阶段先学习 《JavaScript高级程序设计(第3版)》书中的第1,3,4,5,6,7,20,22,24章。本篇笔记主要记录书中知识要点。

第一章主要介绍 JavaScript 历史和组成部分,不作记录。

1.JavaScript 语言基本概念

1.1 语法

注意大小写

变量、函数名和操作符都区分大小写:例如 typeof 是个关键字,typeOf 可以作为自定义的函数名(字母O被大写了)。

标识符

标识符是指变量、函数、属性的名字,或者函数的参数。标识符的命名规则:首字符必须是以下三种之一:字母、下划线或美元符号$;其他字符则除了上述三种还可以是数字。此外,标识符采用驼峰大小写格式,即首字母小写,剩下的每个单词首字母大写,例如 javaScriptLover。

另外注意,标识符不可以使用关键字、保留字、true、flase 和 null 等。

注释

单行注释是双斜杠开头:

// 单行注释

多行注释,即块级注释,斜杠和星号的组合:

/*
 * 多行注释展示
 * 第一行和最后一行格式固定
 * 注释中的星号并不需要,这里是纯粹提高注释的可读性
 */

上面是企业级应用可读性高的注释,简化写如下:

/*
多行代码注释
展示
*/

语句

JavaScript 语句以一个分号结尾。

此外,虽然条件控制语句,比如 if
语句,只在执行多条语句时才要求使用代码块,即用大括号包裹,但最佳实践是即使 if 条件下只有一个语句要执行,仍然使用代码块:

if (test){
	alert(test);
}

1.2 关键字和保留字

关键字

关键字是具有特定用途的名字,通常用于表示控制语句的开始或结束或用于执行特定操作等,关键字不能用作标识符,全部的关键字如下:

/*
  break		do 		 instanceof		typeof
  case 		else	 new			var
  catch		finally	 return			void
  continue	for		 switch			while
  debugger	function this			with
  default	if		 throw
  delete	in		 try
*/

保留字

除了关键字,还有一些不能用作标识符的保留字,它们有可能在将来被用作关键字:

/*
abstract      	enum         int 		short 
boolean       	export		 interface  static 
byte          	extends      long       super 
char          	final        native     synchronized
class         	float        package    throws
const           goto         private    transient
debugger        implements   protected  volatile
double          import       public
第五版严格模式下还新增了如下两个:
let				yield
*/

1.3变量

JavaScript 中定义变量时要使用 var 操作符(var 也是刚提到的关键字),其后跟变量名(也就是刚说的标识符):

// 若没给变量赋值,它会保存为 undefined
var message;
var test = 2;
var text = "haha";

虽然可以修改变量值的时候同时改变其值的类型,比如将 test 变量由数字2 修改为字符串,这可以但不建议这么操作。

要注意的点是用 var 操作符定义的变量将成为该作用域中的局部变量。如果这是在函数中通过 var 定义的变量,那么函数退出后变量会被销毁。在函数中定义变量时如果省略 var 操作符,那么变量被视为全局变量,但这种用法也不推荐,因为局部作用域中如此定义全局变量很难维护,容易导致混乱。

一条语句定义多个变量,可以使用一个操作符 var,多个变量间用逗号隔开,最终一个分号:

var a = 1,
	b = "hi",
	c = false;

换行和缩进不是必需的,只是为了提高代码可读性。

1.4 数据类型

JavaScript 中有 5 种简单数据类型(基本数据类型):

Undefined, 该类型只有一个值,特殊的 undefined;
Null, 该类型也只有一个值,特殊的 null;
Boolean, 该类型有 true 和 false 两个值,注意是小写;
Number;
String;

三种引用数据类型:对象(Object)、数组(Array)和函数(Function)。Object 本质上是由一组无序的名值对组成的。

检测某变量的数据类型,可以使用 typeof 关键字,其返回结果可能是如下某个字符串:

“undefined” - 如果值未定义;
“boolean” - 如果值是布尔值;
“string” - 如果值是字符串;
“number” - 如果值是数值;
“object” - 如果值是对象或 null;
“function” - 如果值是函数。

其用法可以是 typeof (变量名),有无括号都可以,或者不使用变量名,直接对变量的实际值进行操作。这里最特殊的可能是 typeof null 返回的是 “object”,因为特殊值 null 被认为是一个空的对象引用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值