再读“javascript权威指南”之一——词法结构

本文分享了一本JavaScript入门书籍的阅读心得,并记录了关于JavaScript字符集、大小写敏感性、空白符处理、分号使用、注释、直接量及标识符等基础知识的理解与总结。

  好书值得细读,记得最初读这本js的入门读物,大概在一年前,当时觉得细节太过繁琐,略过了很多精华。现在读来,正是滋滋有味。(其实,对js的入门读物是否javascript权威指南有疑问,和对java的入门读物是否是thinking in java一样有疑问)

下面是读书笔记(个人笔记,主要为个人的查漏补缺):

词法结构:
字符集:16位的Unicode编码(可以表示地球上通用的每一种书面语言)。javascript程序中的每个字符都是用两个字节(是个内存概念)表示的。
"12".length//2
"abc".length//3
"我".length//1
ECMAScript v3标准允许Unicode字符出现在Javascript程序中的任何地方,但是该标准的第一版和第二版都只允许Unicode字符出现在注释或用引号括起的字符串直接量中,所有的元素只能用ASCII字符集。ECMAScript标准化之前的javascript版本通常根本不支持Unicode编码。
var 你=123;
console.debug(你)//123
 
大小写敏感:HTML是大小写不敏感的,事件句柄的onclick属性随便你怎么大小写;但javascript中只能使用onclick。
 
空白符和换行符:javascript会忽略程序中记号之间的空格、制表符和换行符。
 
可选的分号:尽管理论上说来javascript允许在任意两个记号之间放置换行符,但是实际上javascript会自动插入分号,使这一规则产生了异常。
return
true;
javascript会假定你的意图是
return;
true;
但你的实际意图很可能是
return true;
 
注释://或/* */
 
直接量:literal。就是程序中直接显示出来的数据值(依赖于词法分析的强大)。javascript还支持数组直接量和对象直接量。直接量对任何一种程序设计语言来说都是一个重要的部分,因为要编写不含直接量的程序几乎是不可能的。
 
标识符:和java相同:第一个字符必须是字母、下划线或美元符号。接下来的字符可以是字母、数字、下划线或美元符号(数字不允许作为首字母出现,这样javascript可以轻易地区别开标识符和数字了)。此外,ECMAScript v3还允许标识符中有Unicode转义序列(字符\u后接4个十六进制的数字,用来指定一个16位的字符编码)。
 
保留字
保留的javascript关键字(就是一般的语法关键字)
ECMA扩展保留的关键字
abstract double goto native static boolean enum implements package super byte export import private synchronized
char extends int protected throws class final interface public transient const float long short volatile debugger
ECMAScript v4草案正在考虑的关键字:as、is、namespace和use
要避免使用的其他标识符
arguments encodeURI Infinity Object String Array Error isFinite parseFloat SyntaxError Boolean escape isNaN parseInt
TypeError Date eval Math RangeError undefined decodeURI EvalError NaN ReferenceError unescape decodeURIComponent
Function Number RegExp URIError
 

转载于:https://www.cnblogs.com/LaryIII/archive/2013/02/16/javascript_the_definitive_guide.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值