本文作为个人学习笔记,一直也没有重视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. 【Algorithm】字符串编辑距离(Levenshtein距离)C++算法实现

    算法实现比较简单,但算法原理不明白,有空了再研究一下. unsigned LevenshteinDistance(const string& s1, const string& s2) ...

  2. oracle死锁的处理办法

    摘自:https://www.cnblogs.com/xuke/p/4053396.html http://blog.itpub.net/30036720/viewspace-2121034/ ora ...

  3. HTML5 拖放实例

    <!DOCTYPE HTML><html><head><meta charset="utf-8"> <title>菜鸟教 ...

  4. [转]TopShelf 用法

    static void Main(string[] args) { { x.Service<SyncData>(s => { s.ConstructUsing(name => ...

  5. 前端使用crypto.js进行加密

    前端使用crypto.js进行加密 https://www.cnblogs.com/lz2017/p/8046816.html   最近我在前端使用Cookies保存密码的时候需要前端来进行加密工作, ...

  6. 自学大数据(hadoop)小插曲__虚拟机工具

    安装VMware Tools VMware 版本:10.0.1 ubuntu(linux) 版本:16.04 LTS 序言:本来第一天可以访问共享文件夹,第二天重新安装了四个ubuntu,可惜确无法访 ...

  7. jquery---筛选总结

    jQuery中筛选这块内容较多,就简单的说明一下说用方法和能有什么样效果,就不弄案例来说明了: 第一类:过滤 1.eq(index|-index) $("p").eq(1).css ...

  8. JS 实现兼容浏览器报警提示声音

    <!DOCTYPE HTML> <head> <title>JS实现报警提示音</title> <meta http-equiv="co ...

  9. echarts统计图Y轴(或X轴)文字过长问题解决

    echarts 统计图Y轴文字过长 在使用echarts时,出现数值非常大,Y轴又显示不下的情况就需要压缩Y轴数值刻度. 解决方法: yAxis: { type: 'value', axisLabel ...

  10. mysql 表

    关系 create table scores( id int primary key auto_increment, stuid int, subid int, score decimal(5,2) ...