JavaScript高级程序读书笔记——3、4章

JavaScript基本概念、变量、作用域和内存问题

基本概念

标识符

所谓标识符,就是指变量、函数、属性的名字,或者函数的参数。组成规则如下:

  •  第一个字符必须是一个字母、下划线( _ )或一个美元符号( $ );
  •  其他字符可以是字母、下划线、美元符号或数字。

ECMAScript 标识符采用驼峰大小写格式,也就是第一个字母小写,剩下的每个单词的首字母大写。Javascript语法严格区分大小写。

注释

ECMAScript 使用 C 风格的注释,包括单行注释和块级注释。单行注释以两个斜杠开头,如下所示:
// 单行注释
块级注释以一个斜杠和一个星号( /* )开头,以一个星号和一个斜杠( */ )结尾,如下所示:
/*
* 这是一个多行
* (块级)注释
*/
虽然上面注释中的第二和第三行都以一个星号开头,但这不是必需的。之所以添加那两个星号,纯粹是为了提高注释的可读性(这种格式在企业级应用中用得比较多)。

严格模式(重点)

ECMAScript 5 引入了严格模式(strict mode)的概念。而且对某些不安全的操作也会抛出错误。要在整个脚本中启用严格模式,可以在顶部添加如下代码:

"use strict";

关键字和保留字

第 5 版把在非严格模式下运行时的保留字缩减为下列这些:
  class enum extends super const export import
在严格模式下,第 5 版还对以下保留字施加了限制:
  implements package public interface private static let protected yield
注意, let 和 yield 是第 5 版新增的保留字;

变量

ECMAScript 的变量是松散类型的,所谓松散类型就是可以用来保存任何类型的数据。换句话说,每个变量仅仅是一个用于保存值的占位符而已。
全局变量与局部变量:简单可以理解为在函数外声明的变量都为全局变量,在函数内声明的为局部变量。

有用的知识考题:js的变量有两种作用域?

:全局变量和局部变量。没有使用 var 声明的变量和在function之外声明的变量都是全局变量,是window属性之一;使用 var 声明的变量属于所在函数,不管在函数的哪个位置出现,等价于在函数一开始声明。局部变量比同名全局变量的优先级高,所以局部变量会隐藏同名的全局变量。要想访问被隐藏的全局变量就加上 window. 前缀。

特殊的全局变量:

function test(){
message = "hi"; //  全局变量
}

例子省略了 var 操作符,因而 message 就成了全局变量。这样,只要调用过一次 test() 函数,这个变量就有了定义,就可以在函数外部的任何地方被访问到,一次 test() 函数未被调用 message怎么为undefined。

 

猜你喜欢

转载自www.cnblogs.com/tuBoss/p/10926627.html