2.词法结构-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的核心内容的,不要急。
2.词法结构-JavaScript权威指南笔记的更多相关文章
- 4.词法结构-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 ...
随机推荐
- Lucky Sum
Description Lucky Sum time limit per test: 2 seconds memory limit per test: 256 megabytes input: sta ...
- getchar()与EOF
大师级经典的著作,要字斟句酌的去读,去理解.以前在看K&R的The C Programming Language(Second Edition)中第1.5节的字符输入/输出,很迷惑getcha ...
- Linux bug 14258279: scheduling clock overflows in 208 days
早上同事反映数据库不能用.无法正常登录主机.多次尝试后终于登上主机,检查系统日志发现下述错误: BUG: soft lockup - CPU#5 stuck for 17163091988s! 貌似是 ...
- 第五章 Spring3.0 、Hibernate3.3与Struts2的整合
5.1整合Spring与Hibernate 5.1.1使用MyEclipse加入Spring与Hibernate功能 使用MyEclipse工具主要是为了让工程拥有把数据表生成实体类与映射的功能.然后 ...
- Python的中文编码转换问题
与server进行数据交换时,尤其是数据中含有中文时,要注意中文的编码问题. 要选择server接受的编码方式,否则会造成显示乱码. 经验: 实验室server的数据库,中文用UTF-8编码,但我提交 ...
- 2.Visual Studio 2013中的默认快捷键
这篇大致是IDE的使用技巧,常用的也就那么几个. 我自己用的最多的是注释.取消注释.格式调整.运行测试.开始调试.断开调试.重新开始调试.删除行ctrl+L.保存.全部保存.打开资源管理器.搜索等几个 ...
- c# 小数的处理
数值类型处理小数 1.Math.Round(x) 四舍五入 Math.Round(0.4) 0 Math.Round(-1.7) -2 2.Math.floor(x) 小于等于 x, ...
- (转)Java通过axis调用WebService
转自:http://blog.csdn.net/wanglha/article/details/49679825 转载地址:http://www.linuxidc.com/Linux/2015-06/ ...
- BZOJ 2300: [HAOI2011]防线修建( 动态凸包 )
离线然后倒着做就变成了支持加点的动态凸包...用平衡树维护上凸壳...时间复杂度O(NlogN) --------------------------------------------------- ...
- jquery不限图片焦点图
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...