本文作为个人学习笔记,一直也没有重视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. Kong(V1.0.2) Health Checks and Circuit Breakers Reference

    介绍 您可以让Kong代理的API使用ring-balancer,通过添加包含一个或多个目标实体的 upstream 实体进行配置,每个 target指向不同的IP地址(或主机名)和端口.ring-b ...

  2. winrar+目录穿透复现

    前言: 学习下该漏洞,记录下这是自动化复现,没有具体分析.菜逼只会用. 00x1: 漏洞简单描述: 该漏洞事一个由UNACEV2.dll代码库中的一个深藏已久的漏洞 当攻击者制作一个恶意的ACE文件时 ...

  3. 给Linux系统新增加一块硬盘

    今天公司测试Linux服务器硬盘不够用了,主要是mysql数据文件太大了,买了个500G的硬盘回来,这里记录下新加硬盘的方法PS 测试服务器的主板太差劲了,没有多余的电源接口,只能把光驱的电源拿出来, ...

  4. sqlserver 中NOLOCK、HOLDLOCK、UPDLOCK、TABLOCK、TABLOCKX

    https://www.cnblogs.com/sthinker/p/5922967.html

  5. 适用于nodercms的打包构建脚本

    背景 最近自己用nodercms搭建了一个简单的博客系统,用户发布一些自己谁便谢谢的文章.感谢nodercms团队,这个cms轻量易用,用于做个人博客太方便了.开发了博客系统,肯定设计到部署到AWS或 ...

  6. alpha阶段发布博客

    我们的Phylab网站发布了! Alpha版本功能 模块 功能 注册界面 根据邮箱,学号等信息注册新用户 登陆界面 根据账号信息登陆 用户界面 查看,修改用户信息和签名 实验报告界面 查看各个实验预习 ...

  7. 艾奇学院:66个信息流广告和SEM学习网址资源大放送!

    01.CNZZ-UDplus 网址:udplus.umeng.com 说明:基于用户行为的精细化分析.运营平台,去研究研究,很多料! 02.黑眼圈管理后台 网址:www.not3.com 说明:二类电 ...

  8. Pytorch_01 Tensor,Autograd,构建网络

    Tensor Tensor是PyTorch中的重要数据结构,可认为是一个高维数组,Tensor与numpy的ndarrays类似,但Tensor可以使用GPU加速 import torch as t# ...

  9. FLV 格式导入 视频

  10. css 效果之转换

    在css3 中,有一个转换效果,也可以替代js,并且比 js 做得好,那就是转换,即transform 属性,只需要个这个属性加上值,就可以实现转化效果了;有三种值,平移(translate),旋转( ...