本文作为个人学习笔记,一直也没有重视javascript的系统学习(javascript是最容易被人忽视的语言),我都是要用的时候百度一下查找下资料开始用,但没有系统的,学习,和整理过javascript,有时候直接用百度来的Javascript代码改改就开始用了(拿来主义),做了3年半技术,现在构建自己的技能树发现自己这一块是一个空缺,所以就准备好好复习下javascript,便有了这系列的笔记。计划主要从两个大方向开始复习,一是:javascript核心部分,二:客户端javascript。

概述:

javascript是面向Web的编程语言,大部分网站都在使用javascript,并且Web浏览器,桌面系统,游戏机,平板电脑,智能手机。都包含了javascript解析器,这使得javascript称的上是最广泛的编程语言。“javascript”这个名字经常被人误解,除了语法看起来和java类似之外,javascript和java是完全不同的开发语言,javascript早已经超出了“脚本语言”本身范畴了,成为一种健壮性,高效性和通用为一身的编程语言。

干货开始:

1.词法结构

编程语言的语法结构是一套基础规则,用来描述如何使用这门编程语言来编程,作为语法的基础,他规定了变量名是什么样的,怎么写注释,以及程序语句怎么分隔等规则。

1.1字符集

javascript程序是用Unicode字符集编写的,Unicode是Ascll和Latin-1的超集,并且支持地球上几乎所有的语言,ECMAScript 3要求javaScript的实现必须支持Unucide2,1及h后续版本,EcMAScript 5则要求支持Unicode 3及后续版本

1.1.1 区分大小写

   javascript是区分大小写的语言,也就是说关键字,变量,函数名称和所有的标识符都必须区分采用一致的大小写形式,比如,关键词“while”必须写成“while”,就不能写成“While”或者“WHILE”,同样,“online”,"Online","OnLine","ONLINE"这是4个不同的变量名。

1.1.2 空格,换行符合格式控制符

javascript会忽略掉程序中的标识(token)之间的空格。多少情况下,javascript同样会忽略换行符,由于可以在代码中随意的使用空格和换行,因此可以采用整齐,一致的缩进来形成统一的编程风格,提高代码可读性。(小说嘀咕:编程规范很重要)

1.2注释

Javascript支持两种格式的注释,在“//”之后的文本都会被javascrip当做是注释忽略掉,另外一种注释是“/*”和“*/”之间的文本也会被当成是注释,这种注释可以跨行书写,但不能嵌套的注释,例如:

//这里是单行注释

/*这里是一段注释*/     //这里是另外一段注释

/*

*这里是大段注释(可以多行)

*/

1.3直接量

直接量,就是程序中使用的数据值,下面列出的都是直接量

12//数字

1.9//小数

“Holle World”//字符串文本

“Hi”//另外一个字符串

true//布尔值

false//另外一个布尔值

/javascript/gi  //正则表达式(模糊匹配)

null  //空

 1.2.4标识符和关键字

标识符符就是一个名字,在javasrcipt中,标识符用对变量和函数进行命名,或者用做javascript代码中的循环语句跳转位置的标记,javascript标识符必须以字母,下划线(_)或美元符($)开始,后续的字符可以是字母,数字,下划线或者美元符(数字不允许作为首字符出现的,以便javascript可以轻易分开标识符和数字),下面是合法的标识符

i

my_variable_name

v13

_dummy

$str

 保留字

javascript 把一些标识符拿出来用做自己的关键字,因此,就不能在程序中把这些关键字用做标识符了:

break    delete  function  return typeof  case  do  if  switch  var   catch  else  in  this  void continue  false  instanceof  throw  while  debugger  finally   new true with

default  for  null   try

javascript同样保留了一些关键字,这些关键字在EcmaScript 5保留 了这些关键字:

class   const  enum  export   extends  import super

此外,下面这些关键字在普通的javascript代码中是合法的,但在严格模式下是保留字

implements let  private  public   yield

interface package protected  static

严格模式同样对下面的标识符使用做了严格的限制,它们并不完全是保留字,但不能用做变量名,函数名或参数名:

arguments eval

ECMAScript3将Java的所有关键字都列为自己的保留字,尽管这些保留字在ECMSAScript 5中放宽了限制,但如果你希望代码在ECMAScript 3 实现解释器上运行的话。

应该避免使用这些关键字作为标识符

abstract double goto  native  static  boolean  enum implements package super   byte  export import package super byte export import private sybchronized

char final interface public transient const float long short  volatile

Javascript 预定义了很多全局变量和函数,应当避免把他们的名字用做变量名,和函数名:

arguments  encodeURI  Infinity  Number RegExp Array encodeURIcomponent isFinite object String  Boolean  Error   isNaN  parseFloat   SyntaxError  Date eval    JSON  parseInt TypeError decodeURL EvalError Math RangeEError   undefined   decodeURICpmponent Function  NaN   ReferenceError URIError

JavaScript的具体实现可能定义独有的全局变量和函数,每一种特定的JavaScript运行环境(客户端,服务端等)都有自己的一个全局属性列表,这一点是需要牢记的。

1.2.5 可选的分号

和其他的语言一样,javascript使用分号(;)将语句分隔开,这对增强代码的可读性和整洁性是非常重要的,缺少分隔符,一条语句的结束就成了下一条语句的开始了。反之亦然,在JavaScript中,如果语句各种独占了一行,通常可以省略掉语句之间的分号,我个人习惯是使用(;)来明确标记语句结束,即使在并不完全需要分号的时候也是如此。(我比较推荐这种方式,方面代码的阅读,和避免出错)。另外一种编码风格是,在任何可以省略掉分号的地方将其省略掉,只有在不得不用时才使用上分号。

本文只做个人复习总结使用,如有写的有错误的地方,希望大家指出,我定及时改正....

一.javascript核心部分:1.词法结构的更多相关文章

  1. JavaScript权威指南2.词法结构

    字符集 1.用16位的Unicode字符集编写的,可以表示地球上通用的每一种书面语言.国际化 2.每个字符都是用两个字节表示的 3.大小写敏感:关键字.变量.函数名.标识符:HTML并不区分大小写 H ...

  2. JavaScript语言核心之词法结构

    编程语言的词法结构是一套基础性规则,用来描述如何使用这门语言来编写程序.作为语法的基础,它规定了诸如变量名是什么样的.怎么写注释,以及程序语句之间如何分割的等规则. 1.1字符集 JavaScript ...

  3. JavaScript语言核心--词法结构

    编程语言的词法结构是一套基础性规则,用来描述如何使用这门语言来编写程序.作为语法的基础,它规定了诸如变量名是什么样的.怎么写注释,以及程序语言之间如何分隔等规则. 1. 字符集 JavaScript程 ...

  4. javascript基础语法——词法结构

    × 目录 [1]java [2]定义 [3]大小写[4]保留字[5]注释[6]空白[7]分号 前面的话 javascript是一门简单的语言,也是一门复杂的语言.说它简单,是因为学会使用它只需片刻功夫 ...

  5. 2.词法结构-JavaScript权威指南笔记

    今天是第二章.所谓词法结构(lexical structure),就是写代码中最基本的东西,变量命名,注释,语句分隔等,这是抄书抄的... 1.字符集,必须是Unicode,反正Unicode是ASC ...

  6. 4.词法结构-JavaScript权威指南笔记

    今天是第二章.所谓词法结构(lexical structure),就是写代码中最基本的东西,变量命名,注释,语句分隔等,这是抄书抄的... 1.字符集,必须是Unicode,反正Unicode是ASC ...

  7. Javascript权威指南——第二章词法结构,第三章类型、值和变量,第四章表达式和运算符,第五章语句

    第二章 词法结构 一.HTML并不区分大小写(尽管XHTML区分大小写),而javascript区分大小写:在HTML中,这些标签和属性名可以使用大写也可以使用小写,而在javascript中必须小写 ...

  8. 第二章:Javascript词法结构

    编程语言的词法结构是一套基础性的规则,用来描述你如何编写这门语言.作为语法的基础,它规定了变量名是怎么样的,如何写注释,以及语句之间是如何区分的.本节用很短的篇幅来介绍javascript的词法结构. ...

  9. Note | javascript权威指南[第六版] 第2章:词法结构

      语法结构规定了诸如变量名是什么样的.怎么写注释,以及程序语句之间如何分隔等规则.本章用很短的篇幅来介绍JavaScript的词法结构.   2.1.字符集   JavaScript程序是用Unic ...

随机推荐

  1. 嵌入式V3s交叉编译 tslib和QT4.8.7,并使用Qt Creator编译项目

    本文主参考:http://zero.lichee.pro/%E5%BA%94%E7%94%A8/QT_index.html 环境 Ubuntu16 64位 arm-linux-gnueabihf ve ...

  2. 防止shell script多次运行

    一个思路是在script初期检测系统中是否存在同名进程. ] then echo "This script is already running. Exit." else whil ...

  3. Opencv + opencv_contrib + Tesseract 之Qt开发环境搭建

    1.软件包准备 opencv源码包地址:                官网  github opencv_contrib源码包地址:   github Tesseract源码包地址:        ...

  4. Butterknife--Android Butterknife使用方法总结(转)

    原文链接:http://blog.csdn.net/donkor_/article/details/77879630 前言: ButterKnife是一个专注于Android系统的View注入框架,以 ...

  5. 数据泵导出报ORA-01555 ORA-22924

    最近对某数据库执行数据泵导出操作时碰到如下错误:Processing object type DATABASE_EXPORT/SCHEMA/JOBProcessing object type DATA ...

  6. Kafka connect in practice(3): distributed mode mysql binlog ->kafka->hive

    In the previous post Kafka connect in practice(1): standalone, I have introduced about the basics of ...

  7. sql server top 10 IO性能查询

    use master go ), ((case qs.statement_end_offset then datalength(qt.text) else qs.statement_end_offse ...

  8. 自学大数据(hadoop)第一天

    熟悉linux系统 1.安装linux系统-ubuntu 官网链接:https://www.ubuntu.com/download 下载ubuntu desktop 即可,拖拽到VMvare里即可安装 ...

  9. 进程、线程与GIL全局解释器锁详解

    进程与线程的关系: . 线程是最小的调度单位 . 进程是最小的管理单元 . 一个进程必须至少一个线程 . 没有线程,进程也就不复存在 线程特点: 线程的并发是利用cpu上下文的切换(是并发,不是并行) ...

  10. ubuntu环境部署项目

    安装python3.6 第一步:sudo add-apt-repository ppa:jonathonf/python-3.6 如果报错为:sudo: add-apt-repository: com ...