初识JavaScript(一)
初识JavaScript(一)
最近由于工作的需要的原因,我从一个写后台的现在让我转到写前端,再加上我的js部分特别的差,所以我现在开始学习js部分的知识。
我的第一篇博文就这样开始写了。俗话说,千里之行,始于足下。九层高台,始于垒土。我要努力跟上博客园的各位大神的脚步。
1.初识JavaScript的词法结构
在编程语言中词法机构是一套基础性规则,用来描述如何使用这门语言编写程序。在本小节中,咱们要认识到JavaScript的字符集、怎样区分大小写、空格、换行符和格式控制符、Unicode转义序列、标准化、注释等等词性结构。
1.1 字符集
JavaScript的程序使用Unicode字符集编写的,那什么是Unicode呢?Unicode是ASCII和Latin-1的超集,它支持地球上几乎所有在用的语言。
1.2 区分大小写
JavaScript是区分大小写的语言。也就是说,关键字、变量、函数名、和所有标识符(identifier)都必须采取一致的大小写的形式。
举个栗子:关键字"while"必须写成"while"而不能写成"While"或者"WHILE"。同样"online"、"Online"、"OnLine"、"ONLINE"是4个不同的变量名
注意:1.HTML并不区分大小写;
2.XHTML区分大小写
举个栗子:在HTML标签中,这些标签的属性名可以使用大写也可以使用小写,但是由于HTML的标签和属性名与JavaScript中的标签和属性名同名,这个时候JavaScript中则必须小写。比如在HTML中设置时间处理程序onclick属性可以写成onClick,但是在JavaScript(XHTML文档)代码中,必须使用小写的onclick。
1.3 空格、换行符和格式控制符
JavaScript会忽略程序中标识之间的空格。多数情况下,JavaScript同样会忽略换行符。由于可以在代码中随意使用空格和换行,因此采用整齐、一致的缩进来形成统一的编码风格,从而提高代码的可读性和整齐性。
| 中文名称 | 符号 |
| 空格符 | \u0020 |
| 水平制表符 | \u0009 |
| 垂直制表符 | \u000B |
| 换页符 | \u000C |
| 字节序标记 | \uFEFF |
| 换行符 | \u000A |
| 回车符 | \u000D |
| 行分隔符 | \u2028 |
| 段分隔符 | \u2029 |
| 不中断空白符 | \u00A0 |
| 从右至左书写标记 | \u200F |
| 从左至右书写标记 | \u200E |
| 零宽连接符 | \u200D |
| 零宽非连接符 | \uFEFF |
| ... | ... |
1.4 Unicode转义序列
使用6个ASCII字符来代替任意16位Unicode内码,这种序列就叫做Unicode转义序列。
举个栗子: "café" === "caf\u00e9" //结果是:true
1.5 标准化
Unicode标准为所有字符定义了一个首选的编码格式,并给出了一个标准化的处理方式将文本转换为一种合适比较的标准格式,JavaScript会认为它正在解析的程序化代码已经是这种标准格式,不会再对其标识符、字符串、或正则表达式做标准化处理。
1.6 注释
//:单行注释
/**/:多汗注释
1.7 直接量
所谓的直接量就是程序中直接使用的数据值。
举个栗子:
| 直接量 | 注释 |
| 12 | 数字 |
| 1.2 | 小数 |
| "hello world" | 字符串文本 |
| 'Hi' | 另一个字符串 |
| true | 布尔值 |
| false | 另一个布尔值 |
| /javascript/gi | 正则表达式直接量(用作模式匹配) |
| null | 空 |
| {x:1,y:2} | 对象 |
| [1,2,3,4] | 数组 |
1.8 标识符
标识符就是一个名字。在JavaScript中,用来对变量和函数命名,或者用做JavaScript代码中某些循环语句中的跳转位置的标记。
标识符命名规则:
1.必须以字符、下划线(_)、美元($)为首字母,后续的字符可以是字母、数字、下划线或美元符;
2.数字是不被允许作为首字符出现,以便JavaScript可以轻易的分开标识符和数字;
3.出于可移植性和易于书写性的考虑,通常我们只使用ASCII字母和数字来书写标识符;
4.JavaScript允许标识符中出现Unicode字符全集中的字母和数字。
合法的标识符:i、my_variable_name、v13、_dummy、$str等等
1.9 关键字(保留字)
JavaScript主要的关键字:break、do、instanceof、typeof、case、else、new、var、catch、finally、return、void、continue、for、switch、while、debugger*、function、this、with、default、if、throw、delete、in、try
2.0 可选的分号
JavaScript使用分号(;)将语句分开。这对增强代码的可读性和整洁性是非常重要的;缺少分隔符,一条语句结束就成了下一条语句的开始,反之亦然。
注意:1.JavaScript并不是在所有换行处都填补分号;只有在缺少了分号就无法正确解析代码的时候,JavaScript才会补填分号;
2.在return、continue和break和随后的表达式之间不能有换行。如果添加换行,程序则只有在极特殊的情况下才会报错,而且调试起来非常麻烦。
3.在涉及"++"和"--"运算符的时候。这些运算符可以作为表达式的前缀,也可以当做表达式的后缀。如果将其用做后缀表达式,它和表达式应当在同一行。否则,行尾将填补分号,同时"++"或"--"将会作为下一行代码的前缀操作符并与之一起解析。
2.小结
我是通过此次学习,才知道在js在词法有那么多规则,而且每种规则都是我在进行编写JavaScript程序的要求。
这是我第一次发这样的博文,有什么不对的地方请及时在下面留言,并帮助我进行更正。谢谢了!!!
初识JavaScript(一)的更多相关文章
- 笔记一、初识 Javascript
一.初识 Javascript javascript是一种专为与网页交互儿设计的脚本语言.由三部分组成:ECMAScript (ECMA-262定义) : 提供核心语言功能文档对象模型(DOM): ...
- Day15 HTML补充、初识JavaScript
一.上节回顾 上节回顾: HTML 头部信息:编码.title.style.link(导入css文件) 身体: 内联 块级 --->inline-block(既有内联效果又有块级效果) a标签: ...
- 《前端之路》之 初识 JavaScript
01 初识 JavaScript 作为在码农圈混迹了 四五年的老码畜来说,学习一门新的语言,就仿佛是老司机开新车一样 轻车熟路. 为什么会这么快呢? 因为各种套路啊- 任何一种计算机语言的最开始都是和 ...
- 01初识 JavaScript
1.初识 JavaScript 1.1 JavaScript 是什么 l JavaScript 是世界上最流行的语言之一,是一种运行在客户端的脚本语言 (Script 是脚本的意思) l 脚本语言 ...
- 初识JavaScript(三)
初识JavaScript(三) 我从上一讲<初识JavaScript(二)>了解到了类型.值.变量的定义以及特点,本节我将学习到JavaScript中的算术运算.二进制浮点数和四舍五入的错 ...
- 初识JavaScript(二)
初识JavaScript(二) 我从上一篇<初识JavaScript(一)>知道和认识JavaScript的词法结构,也开始慢慢接触到了JavaScript的使用方法,是必须按照JavaS ...
- 初识JavaScript闭包
一个问题引发的思考 在我学习javascript的事件时,有一个小任务是使用JS来实现 li 列表项在鼠标悬浮时会有背景阴影的动态效果,很自然想到用for 来为每个列表项添加onmouseover 和 ...
- 初识JavaScript
JavaScript ECMA-262: 变量,函数,对象,数据类型....唯独没有输入和输出. Javascript:包含 ECMA-262,核心 BOM 浏览器对象模型, DOM 文档对象模型 什 ...
- 初识JavaScript 变量, 操作符, 数组
这里讲的不会太多, 因为所有的语言都是一样的, 一些基本的东西, 所以就随便写写. 变量 变量就是可变的量, 编程角度理解就是用于存储某种/某些数值的存储器. 我们可以把变量具象理解为一个盒子, 而我 ...
随机推荐
- JSP8
一.EL表达式 JSP表达式语言(EL)使得访问存储在JavaBean中的数据变得非常简单.JSP EL既可以用来创建算术表达式也可以用来创建逻辑表达式.在JSP EL表达式内可以使用整型数,浮点数 ...
- 浏览器拦截js打开新窗口
最近做项目时,遇到的问题"想通过javascript在浏览器新标签页或新窗口打开一个新的页面,结果被浏览器大大无情给拦截了"业务需求:前端提交数据到后端,后端返回url,然后在新窗 ...
- Wannafly模拟赛5 A Split 暴力 二分加速
你有一个大小为
- mysql 打开慢查询日志
打开mysql的配置文件 my.ini或是my.cnf找到节点[mysqld]下添加下面这两行(默认可能不带这两行,直接手敲即可) [AppleScript] 纯文本查看 复制代码 ? 1 2 3 ...
- 深入理解java虚拟机_第三章(上)----->垃圾收集器与内存分配策略
1. 前言 这一版块内容比较多,分为两篇文章来做笔记.本文讲述上半部分垃圾收集部分;下一篇文章写内存分配部分. 概述 对象已死吗? 引用技术算法 可达性分析算法 再谈引用 两次标记 回收方法区 2. ...
- js+画曲线和圆 并限制圆的渲染范围
通过三个点的坐标可确定一条双曲线. 公式: 1)y=ax^2+bx+c; 2) y=a(x-k)+h; 通过已知三点可确定a,b,c,h,k 2.通过圆心坐标(a,b)和半径r可确定一个圆,和已知的x ...
- lodash源码分析之compact中的遍历
小时候, 乡愁是一枚小小的邮票, 我在这头, 母亲在那头. 长大后,乡愁是一张窄窄的船票, 我在这头, 新娘在那头. 后来啊, 乡愁是一方矮矮的坟墓, 我在外头, 母亲在里头. 而现在, 乡愁是一湾浅 ...
- Solr7.1---数据库导入并建立中文分词器
这里只是告诉你如何导入,生产环境不要这样部署你的solr服务. 首先修改solrConfig.xml文件 备份_default文件夹 修改solrconfig.xml 加入如下内容 官方示例:< ...
- webrtc视频数据接收端处理流程详解
- Sun 与 Oracle 合并的未来
引言 SUN 2008 初 10 亿美元收购 MySQL Oracle 2009 年 4 月 74 亿美元收购 SUN Sun 与 Oracle 合并的未来 1,如果云计算对企业来说变得越来越重要,那 ...