4.词法结构-JavaScript权威指南笔记
今天是第二章。所谓词法结构(lexical structure),就是写代码中最基本的东西,变量命名,注释,语句分隔等,这是抄书抄的。。。
1.字符集,必须是Unicode,反正Unicode是ASCII的超集,各种语言妥妥支持,克林贡语=。=?当我没说
2.JavaScript是区分大小写的。
这一点给我留下了深刻印象。去年五月份,第一次写JavaScript,document.getElementById()写成了document.getElementByID(),妈蛋整整一个上午硬是get不到,一个上午啊!所以说编程无小事,大小细节和基本原理都是要好好掌握的。HTML的标签是不区分大小写的,但是考虑到HTML一般都是和JS配合使用,还是统一区分大小写比较好。目前学过的语言中,我只记得汇编是不区分大小写的。多说一句,大三的时候,计算机组成课写CPU的时候,一段汇编写完,敲回车和不敲回车是两个完全不同的结果。
3.空格、缩进、换行、格式控制符deng 可以被JavaScript识别。
这个跟我2中多说的那一句讲的是同一个事情。另外,JS支持Unicode转义写法。要注意的是,空格符是\u0020,水平制表符是\u0009,虽然有时候可以产生类似的效果但是它们本质上是不一样的;同样的还有换行符\u000A和回车符\u000D。
4.杂项。
因为这部分比较碎,写成杂项,其中包括注释、标识符、关键字、分号的解析。
注释这个JavaScript并不例外,用的是//以及/**/对应单行和多行注释。
标识符就是名字啦,字母下划线和美元符可以开头,数字严禁作为开头。关键字不能作为标识符这个是常识吧,只是JavaScript有普通和严格模式之分,反正我是不会故意用保留字(reserved word)作为标识符。
分号可以有可以没有,在当前语句和下一行语句无法合并解析的情况下,JS会在第一行后自己补分号再解析。可有可无的情况都让它有好了,不定的东西最麻烦了,自己写的话一句话结束统一要带分号。(可以不带任何东西直接return,分号都可以不要)
5.总结
第二章都是很基础很常识的东西,我还是简单的记录一下。慢慢会接触到JS的核心内容的,不要急。
4.词法结构-JavaScript权威指南笔记的更多相关文章
- 2.词法结构-JavaScript权威指南笔记
今天是第二章.所谓词法结构(lexical structure),就是写代码中最基本的东西,变量命名,注释,语句分隔等,这是抄书抄的... 1.字符集,必须是Unicode,反正Unicode是ASC ...
- javascript权威指南笔记
最近每天工作之余看下js的细节部分,时间不是很多,所以看的进度也不会太快,写个博客监督自己每天都看下. 以前不知道的细节或者以前知道但是没注意过的地方都会记录下来,所以适合有一定基础的,不适合零基础新 ...
- javascript权威指南笔记--javascript语言核心(四)
对象: 通过引用(而非值)来操作对象: var obj = {"x":1,"y":2}; var copyObj = obj; copyObj.x = 5; c ...
- javascript权威指南笔记--javascript语言核心(三)
1.var用来声明一个或多个变量.全局变量是全局对象的属性,它无法通过delete删除. 如果var语句中的变量没有指定初始化表达式,那么这个变量的初始值为undefined. 变量声明语句会被提前到 ...
- javascript权威指南笔记--javascript语言核心(二)
1.函数作用域:在函数内声明的所有变量在函数体内始终是可见的.这意味着在变量声明之前甚至已经可用. *“声明提前”:javascript函数里声明的所有变量(但不涉及赋值)都被提前至函数的顶部. fu ...
- javascript权威指南笔记--javascript语言核心(一)
1.javascript的数据类型分为两类:原始类型和对象类型. 原始类型包括字符串.数字.布尔值.null.undefined. 对象是属性的集合,每个对象都由“名/值”对构成.数组和函数是特殊的对 ...
- 3.类型、值和变量-JavaScript权威指南笔记
开始变得有意思起来了,然而第三章还是以基础知识了解的角度阐释相关的概念,并没有深入到结合代码以及要实现的功能讲用法和原理的程度. 1.概论. value:程序的运行是对值的操作. type:能够表示并 ...
- 1.语言概述-JavaScript权威指南笔记
上周三的时候交给老板目前的项目第一个迭代回顾会的总结.原本是以综述性的表述方式写的,交给他之后表示程序员不要长篇大论.总结要分为优点缺点期望等等块,每块列出条目,简明扼要的表达出来.这里也用这种风格. ...
- [JavaScript权威指南 [笔记]
对象的比较均是引用的比较.(不可变的原始值和可变的对象引用)this返回调用这个方法的对象通过x!==x来判断x是否为NaNvar max = max_width || preferences.max ...
随机推荐
- poj1195 Mobile phones
Mobile phones Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 19786 Accepted: 9133 De ...
- WPF开发学习笔记(转)
总结下学习WPF的笔记,方便查阅 1 编译 添加程序集引用:WindowsBase.dll,PresentationCore.dll,PresentationFramework.dll 2 布局 ...
- django orm 操作符
__gt 大于__gte 大于等于__lt 小于__lte 小于等于__in__exact 精确等于 like 'aaa'__iexact 精确等于 忽略大小写 ilike 'aaa'__contai ...
- 如何使用代码美化器Uncrustify (How to use code beautifier Uncrustify)
1.下载NodePad++, 2.选择菜单Plugins/Plugin Manager/Show Plugin Manager 3.勾选UniversalIndentGUI,点击Install 4.下 ...
- WPF error: does not contain a static 'Main' method suitable for an entry point
WPF error: does not contain a static 'Main' method suitable for an entry point doe ...
- matlab函数 bwperim
功能:查找二值图像的边缘. 用法: BW2 = bwperim(BW1) BW2 = bwperim(BW1,conn) BW2 = bwperim(BW1,conn)表示从输入图像BW1中返回只包括 ...
- Python手动安装 package
https://pypi.python.org/pypi 下载 解压 进入setup.py的目录 python setup.py build python setup.py install
- HTTP缓存控制
HTTP缓存控制总结 引言 通过网络获取内容既缓慢,成本又高.大的相应需要在客户端和服务器之间多次往返通信,这拖延了浏览器可以使用和处理内容的时间,同时也增加了通信的成本.因此,缓存和重用以前获取 ...
- tp框架下,数据库和编辑器都是utf-8, 输出中文却还是乱码
输出: array(2) { [0]=> array(4) { ["id"]=> string(1) "1" ["user"]= ...
- K-S Test
K-S test, test for the equality of continuous, one-dimensional probability distribution that can be ...