javascript基础学习系列一:标识符

一般来说,语言中的标识符可以分为两类,一类用于命名语法(以及类型),一类用 于命名值(的存储位置)。前者被称为“语法关键字”,后者则被称为“变量”和“常量”。

由此引入了一个概念:绑定。从标识符的角度来说,绑定分为语法关键字与语法(语义)逻辑的绑定,以及变量与它所存储值的位置的绑定。语法关键字对逻辑的绑定的结 果,是作用域的限定;变量对位置的绑定的结果,则是变量生存周期的限定。

1. 标识符:

程序语言中“声明”的意义(这里强调是意义,而非定义):所谓声明, 即是约定变量的生存周期和逻辑的作用域。由于这里的“声明”已经涵盖了逻辑与数据 (这相当于“程序”的全部),因此整个编程的过程,其实被解释成了“说明逻辑和数据” 的过程。

  • 纯粹陈述“值”的过程,被称为变量和类型声明。
  • 纯粹陈述“逻辑”的过程,被称为语句(含流程控制子句)。
  • 陈述“值与(算法的)逻辑”的关系的过程,被称为表达式。

在这里插入图片描述


2. 识别语法错误:

JavaScript 引擎会在代码装入时先进行语法分析,如果语法分析通不过, 整个脚本代码块都不执行;当语法分析通过时,才会执行这段脚本代码。若在执行过程 中出错,那么在同一代码上下文中、出错点之后的代码将不再执行。

要在不同的脚本引擎中简单地区 别两种错误,较为通行的方法是在代码片断的最前面加上一行输出,例如,使用 alert() 来显示一个信息1。脚本引擎的出错提示在该行之前,则是语法分析期错误。例如:

var loaded = 'alert("loaded.");';

// 声明函数的语法错误
var funcCode = 'funcion func(){};';
eval(loaded + funcCode);

如果在该行之后,则是执行期错误。例如:

var loaded = 'alert("loaded.");';
// 执行时发现未定义 value 变量,触发运行期错误
var valueCode = 'value++';
eval(loaded + valueCode);

这两种错误提示,而在特定脚本引擎 中,一段代码是执行异常还是语法分析错误,是需要通过上述的方法来区分的。但如果 有该引擎下的调试器或脚本宿主环境,允许加载用户的错误处理代码(例如,浏览器中 可以通过 window.onerror 响应错误处理),也还是有其他方法的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值