位置: 编程技术 - 正文

JavaScript高级程序设计(第3版)学习笔记2 js基础语法(javascript高级程序设计pdf下载)

编辑:rootadmin
这一篇复习一下ECMAScript规范中的基础语法,英文好的朋友可以直接阅读官方文档。JavaScript本质上也是一种类C语言,熟悉C语言的朋友,可以非常轻松的阅读这篇文章,甚至都可以跳过,不过建议你最好还是看一看,在介绍的同时,我可能会引用一些自认为不易理解且比较流行的用法。

基础语法

1、标识符:所谓标识符,实际上就是指一个满足一定规范,能够被引擎识别的名字,可以用来表示常量、变量、函数名、函数参数、对象、对象属性等所有可命名对象的名称。

(1)区分大小写。

(2)以字母、下划线(_)或美元符号($)开头,其它字符可以为字母、下划线、美元符号或数字。这里的字母包含扩展的ASCII或Unicode字符。

(3)标识符不能是关键字、保留字、true、false、null。(有些浏览器允许使用undefined,有些不能)。

(4)如果对象属性含有空格或其它特殊字符,可以用括号括起来作为一个整体。

2、关键字:在语言本身中有特定用途。

    break  case  catch  continue  debugger(ES5中新增)  default  delete  do  else  finally  for  function  if  in  instanceof  new  return  switch  this  throw  try  typeof  var  void  while  with

3、保留字:被语言本身保留,将来可能作为关键字。

  ES3中的保留字:

    abstract  boolean  byte  char  class  const  debugger  double  enum  export  extends  final  float  goto  implements  import  int  interface  long  native  package  private  protected  public  short  static  super  synchronized  throws  transient  volatile

  ES5中的非严格模式下的保留字:

    class  const  enum  export  extends  import  super

  ES5的严格模式下的保留字:

    implements  interface  let(ES5中新增)  package  private  protected  public  static  yield(ES5中新增)

4、严格模式:在ES5中引入严格模式,通过使用"use strict"来开启严格模式,可以在顶部开启全局严格模式,也可以在函数作用域范围内开启局部严格模式。 5、注释:在ECMAScript中,支持两种格式的注释,单行注释和块级注释: 说明:随着JS代码越来越复杂,注释也变的越来越重要,而文档自动化也显得愈加重要,目前已经有很多开源JS库用于自动化生成类似于Javadoc的JS文档,比如JSDoc、YUIDoc等,这个时候,对注释也会有相应的格式要求,有兴趣的朋友可以找相关资料研究。 6、变量:变量在其本质上不过是内存空间在语言级别的外在抽象。 (1)动态类型:在ECMAScript中,变量是动态类型的,你可以在定义的时候初始化为一个Number类型,紧接着,你可以把一个字符串值赋给它: (2)var操作符:变量使用var来声明,对于未初始化的变量,会默认为undefined,也可以直接使用变量而不声明(在我看来,这同样是一个没有存在理由的特性),它们之间最重要的区别就是使用var声明时,声明的变量只在当前作用域有效,而不使用var时,变量就会定义在全局作用域。可以通过下面的例子来体会其中的区别: (3)声明提升:这个问题在讲函数声明和函数表达式时还会再次谈到,这里先提一下,看代码: 你有没有自己推断出上面的输出结果?如果已经推断出,可以跳过了,如果还存有疑问,那么先看看下面关于声明提升的描述,然后再回过头来印证上面的输出结果:     A、引擎在解析时,首先会解析函数声明,然后解析变量声明(解析时不会覆盖类型),最后再执行代码;     B、解析函数声明时,会同时解析类型(函数),但不会执行,解析变量声明时,只解析变量,不会初始化。   这里涉及的只是全局作用域,在函数作用域中还有函数参数也和声明提升有关,在后面讲述函数时再讨论。   上面的代码,首先会把第行的函数声明和第、行的变量声明提升到最开始解析,然后再执行。因此第1、9行因为变量声明提升但尚未初始化,所以输出undefined,从而第行因为无法确定是函数类型而抛出类型异常;第2、3行因为函数声明提升并且解析函数类型,所以第2行输出函数,第3行可以调用函数,但返回值未初始化而输出undefined;第5行因为尚未声明变量,会抛出引用异常。 (4)可以使用一条语句定义多个变量,用逗号分开即可。如: (5)在ES5的严格模式下,不能定义名为eval或arguments的变量。 7、语句 (1)语句:以一个分号“;”结尾,如果省略分号,由解析器确定语句的结尾。   对于JS中语句可以省略分号的特性,我想不到任何存在的理由,强烈建议每条语句均使用分号来明确结束,不要让解析器花费时间来“猜测”你的程序,而且,更加重要的是,在很多压缩工具中,猜测并不能保证百分百的正确。 (2)代码块:以左花括号({)开始,右花括号(})结束。   在JS中虽然有代码块的概念,但是却没有相应的块级作用域,这是和一般类C语言所不同的。对于控制语句(比如if),不要因为只有一条语句就不使用代码块,这会给维护你程序的伙计种下犯错的种子。  花括号({})除了作为代码块来使用外,还有一个很重要的用处就是定义对象字面量,这在后面还会再有论述。

推荐整理分享JavaScript高级程序设计(第3版)学习笔记2 js基础语法(javascript高级程序设计pdf下载),希望有所帮助,仅作参考,欢迎阅读内容。

JavaScript高级程序设计(第3版)学习笔记2 js基础语法(javascript高级程序设计pdf下载)

文章相关热门搜索词:javascript高级程序设计第三版,javascript高级程序设计pdf下载,javascript高级程序设计pdf下载,javascript高级程序设计pdf百度云,javaScript高级程序设计,javascript高级程序设计pdf下载,javascript高级程序设计电子版,javascript高级程序设计pdf下载,内容如对您有帮助,希望把文章链接给更多的朋友!

JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型 ECMAScript是一种动态类型的语言,构建于5种简单数据类型(Undefined、Null、Boolean、Number、String)和一种复杂数据类型(Object)的基础之上。这篇文章就来

JavaScript高级程序设计(第3版)学习笔记4 js运算符和操作符 在ECMAScript中,有非常丰富的运算符和操作符,在这篇文章中将按通常的分类来稍微整理一下,不过在整理之前,先说明一下:1、虽然标题是运算符和

JavaScript高级程序设计(第3版)学习笔记5 js语句 砖瓦和水泥都有了,接下来该是砌墙了,在ECMAScript中,语句就是我们需要砌的墙了。语句也和操作符一样,对于有C背景的人来说再自然不过了,下面采

标签: javascript高级程序设计pdf下载

本文链接地址:https://www.jiuchutong.com/biancheng/380506.html 转载请保留说明!

上一篇:JavaScript高级程序设计(第3版)学习笔记 概述(javascript高级程序设计电子版)

下一篇:JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型(javascript高级程序设计第五版 pdf下载)

  • 企业所得税的纳税义务人不包括下列哪类企业
  • 建筑施工企业的分公司区域公司等较大的
  • 农业合作社享受优惠政策
  • 社保基数申报怎么看是否成功
  • 增值税减免所得税填在哪一栏
  • 存货售出后是否含税
  • 发票抬头公司名称有空格
  • 固定资产残值怎么处理什么时候处理
  • 营改增后无形资产的出租和出售都属于增值税纳税范围
  • 超过认证期限的发票怎么处理
  • 货款尚未收到用什么记账凭证
  • 高速公路通行费怎么计算的
  • 无产权的建筑出售怎么办
  • 私立医院增值税税率是多少
  • 单位参加城镇职工基本养老保险缴费基数怎么填写
  • 企业单位名称变更说明
  • 环境保护税的计算例题
  • 土地纳税申报表
  • 高新企业产品开发的折旧费用可以税前扣除吗?
  • 录入凭证利息收入负数怎么录入?
  • 做进项转出的票据有哪些
  • 个税系统添加单位企业信息不存在
  • 一般纳税人建筑服务税率是多少
  • 土地增值税清算管理规程
  • 购买生产用品计入什么科目
  • macOS 10.13允许任何来源没有了怎么办?macOS 10.13允许任何来源没了开启步骤
  • PHP:curl_getinfo()的用法_cURL函数
  • 补缴断交的医保划算吗
  • 一只猫在花园里英语
  • php怎么转换
  • php实验报告
  • chrome插件扩展名
  • 资产负债表应付账款怎么填列
  • php中session什么意思
  • 工会经费计税依据是上年工资还是当年工资
  • 个人所得税申报流程图
  • openlayers6教程
  • stm32f103教程
  • 37.JavaScript对象与JSON格式的转换,JSON.stringify、JSON.parse方法的使用方法和注意事项
  • iperf3命令和iperf2
  • 减免残保金的操作方法
  • 民办非企业培训机构注册流程
  • 亏损合同预计负债的会计分录
  • 购买银行短期理财产品的会计处理
  • 劳务分包属于人工成本吗
  • sqlserver数据库安装步骤
  • 支付员工的餐费怎么入账
  • 企业报税流程是什么样的
  • 公户转私户的钱会退回吗
  • 刷信用卡的手续费一般是多少
  • 减免税款借方有利息吗
  • 国有资产无偿划转协议
  • 继续教育专项扣除标准是多少
  • win8激活点不进去
  • wp7.8升级wp8
  • linux ldt
  • Ubuntu Server 13.10 安装配置图解教程
  • 丢失msvcr80.dll
  • 给推荐几款
  • linux安装pip2
  • jquery 点击按钮
  • easyui multiple
  • python中列表删除
  • unity text
  • android应用程序的主要语言是
  • js根据name取值
  • Python中MySQL数据迁移到MongoDB脚本的方法
  • jquery动态添加的元素怎么添加事件
  • 国家税务总局司长
  • 个体经营所得申报密码怎样设置
  • 企业信息公示在哪里打印
  • 我的宁夏灵活就业缴费失败
  • 税控盘开票怎么赋码的教程
  • 厦门市地方税务局市稽查局关于规范稽查有关规定
  • 个体工商户两处所得,如何减半个税
  • 火灾损失进项税额怎么处理
  • 企业自有房屋需要交税吗
  • 民办非企业暂行
  • 核算成本需要哪些数据来源
  • 实体经济的行业有哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设