pdf

javascript高级程序设计

  • 1星
  • 日期: 2021-05-30
  • 大小: 8.47MB
  • 所需积分:0分
  • 下载次数:0
  • favicon收藏
  • rep举报
  • free评论
标签: JS

JS

JavaScript最新经典教程  *  Amazon超级畅销书  *  AJAX程序员必备

随着国内的计算机图书市场越来越细化,各类引进版和原创图书在各自领域内如雨后春笋般展露头角,各类“经典”和“圣经”横空出世。但是有一个领域内却一直遗留了大片空白,就是JavaScript类图书。除了O\'Reilly的《JAVASCRIPT权威指南》之外,国内一直没有出现过特别优秀的同类图书。就在这时,Wrox的《Professional  JavaScript  for  Web  Developers》走进了我们的视野,中文名是《JAVASCRIPT高级程序设计》

JavaScript是目前Web客户端开发的主要编程语言,也是Ajax的核心技术之一。本书从最早期Netscape浏览器中的JavaScript  开始讲起,直到当前它对XML和Web服务的具体支持,内容主要涉及JavaScript的语言特点、JavaScript与浏览器的交互、更高级的  JavaScript技巧,以及与在Web应用程序中部署JavaScript解决方案有关的问题,如错误处理、调试、安全性、优化/混淆化、XML和  Web服务,最后介绍应用所有这些知识来创建动态用户界面。

本书适合有一定编程经验的开发人员阅读,也可作为高校相关专业课程的教材。

新增DOM概念,如何实现正则表达式进行数据验证和字符串操作,把JavaScript联系到Web用户界面的事件处理方法;  数据验证、表排序和错误处理的方法等

目录

第1章  JavaScript是什么  1

1.1  历史简述  1

1.2  JavaScript实现  2

1.2.1  ECMAScript  3

1.2.2  DOM  5

1.2.3  BOM  8

1.3  小结  8

第2章  ECMAScript基础  9

2.1  语法  9

2.2  变量  10

2.3  关键字  12

2.4  保留字  12

2.5  原始值和引用值  13

2.6  原始类型  13

2.6.1  typeof运算符  14

2.6.2  Undefined类型  14

2.6.3  Null类型  15

2.6.4  Boolean类型  15

2.6.5  Number类型  15

2.6.6  String类型  17

2.7  转换  18

2.7.1  转换成字符串  18

2.7.2  转换成数字  19

2.7.3  强制类型转换  20

2.8  引用类型  22

2.8.1  Object类  22

2.8.2  Boolean类  23

2.8.3  Number类  23

2.8.4  String类  24

2.8.5  instanceof运算符  28

2.9  运算符  28

2.9.1  一元运算符  28

2.9.2  位运算符  32

2.9.3  Boolean运算符  37

2.9.4  乘性运算符  40

2.9.5  加性运算符  41

2.9.6  关系运算符  42

2.9.7  等性运算符  43

2.9.8  条件运算符  45

2.9.9  赋值运算符  45

2.9.10  逗号运算符  46

2.10  语句  46

2.10.1  if语句  46

2.10.2  迭代语句  47

2.10.3  有标签的语句  48

2.10.4  break语句和continue语句  48

2.10.5  with语句  50

2.10.6  switch语句  50

2.11  函数  51

2.11.1  无重载  53

2.11.2  arguments对象  53

2.11.3  Function类  54

2.11.4  闭包  56

2.12  小结  57

第3章  对象基础  58

3.1  面向对象术语  58

3.1.1  面向对象语言的要求  58

3.1.2  对象的构成  59

3.2  对象应用  59

3.2.1  声明和实例化  59

3.2.2  对象引用  59

3.2.3  对象废除  59

3.2.4  早绑定和晚绑定  60

3.3  对象的类型  60

3.3.1  本地对象  60

3.3.2  内置对象  70

3.3.3  宿主对象  75

3.4  作用域  75

3.4.1  公用、受保护和私有作用域  75

3.4.2  静态作用域并非静态的  76

3.4.3  关键字this  76

3.5  定义类或对象  78

3.5.1  工厂方式  78

3.5.2  构造函数方式  80

3.5.3  原型方式  80

3.5.4  混合的构造函数/原型方式  81

3.5.5  动态原型方法  82

3.5.6  混合工厂方式  83

3.5.7  采用哪种方式  84

3.5.8  实例  84

3.6  修改对象  86

3.6.1  创建新方法  86

3.6.2  重定义已有方法  87

3.6.3  极晚绑定  88

3.7  小结  88

第4章  继承  89

4.1  继承机制实例  89

4.2  继承机制的实现  90

4.2.1  继承的方式  90

4.2.2  一个更实际的例子  96

4.3  其他继承方式  100

4.3.1  zInherit  100

4.3.2  xbObjects  104

4.4  小结  108

第5章  浏览器中的JavaScript  109

5.1  HTML中的JavaScript  109

5.1.1  〈script/〉标签  109

5.1.2  外部文件格式  110

5.1.3  内嵌代码和外部文件  111

5.1.4  标签放置  111

5.1.5  隐藏还是不隐藏  113

5.1.6  〈noscript/〉标签  113

5.1.7  XHTML中的改变  114

5.2  SVG中的JavaScript  116

5.2.1  SVG基础  116

5.2.2  SVG中的〈script/〉标签  117

5.2.3  SVG中的标签放置  118

5.3  BOM  119

5.3.1  window对象  119

5.3.2  document对象  130

5.3.3  location对象  133

5.3.4  navigator对象  135

5.3.5  screen对象  136

5.4  小结  137

第6章  DOM基础  138

6.1  什么是DOM?  138

6.1.1  XML简介  138

6.1.2  针对XML的API  141

6.1.3  节点的层次  141

6.1.4  特定语言的DOM  144

6.2  对DOM的支持  145

6.3  使用DOM  145

6.3.1  访问相关的节点  145

6.3.2  检测节点类型  146

6.3.3  处理特性  147

6.3.4  访问指定节点  148

6.3.5  创建和操作节点  150

6.4  HTML  DOM特征功能  155

6.4.1  让特性像属性一样  155

6.4.2  table方法  156

6.5  遍历DOM  158

6.5.1  NodeIterator  158

6.5.2  TreeWalker  163

6.6  测试与DOM标准的一致性  165

6.7  DOM  Level  3  166

6.8  小结  166

第7章  正则表达式  167

7.1  正则表达式支持  167

7.1.1  使用RegExp对象  168

7.1.2  扩展的字符串方法  169

7.2  简单模式  170

7.2.1  元字符  170

7.2.2  使用特殊字符  170

7.2.3  字符类  172

7.2.4  量词  174

7.3  复杂模式  177

7.3.1  分组  177

7.3.2  反向引用  178

7.3.3  候选  179

7.3.4  非捕获性分组  180

7.3.5  前瞻  181

7.3.6  边界  182

7.3.7  多行模式  183

7.4  理解RegExp对象  184

7.4.1  实例属性  184

7.4.2  静态属性  185

7.5  常用模式  186

7.5.1  验证日期  187

7.5.2  验证信用卡号  188

7.5.3  验证电子邮件地址  192

7.6  小结  193

第8章  检测浏览器和操作系统  194

8.1  navigator对象  194

8.2  检测浏览器的方式  194

8.2.1  对象/特征检测法  194

8.2.2  user-agent字符串检测法  195

8.3  user-agent字符串简史  196

8.3.1  Netscape  Navigator  3.0与  IE3.0  196

8.3.2  Netscape  Communicator  4.0与IE  4.0  197

8.3.3  IE  5.0及更高版本  198

8.3.4  Mozilla  198

8.3.5  Opera  200

8.3.6  Safari  201

8.3.7  结语  201

8.4  浏览器检测脚本  201

8.4.1  方法学  202

8.4.2  第一步  202

8.4.3  检测Opera  204

8.4.4  检测Konqueror/Safari  206

8.4.5  检测IE  208

8.4.6  检测Mozilla  209

8.4.7  检测Netscape  Communicator  4.x  210

8.5  平台/操作系统检测脚本  211

8.5.1  方法学  211

8.5.2  第一步  212

8.5.3  检测Windows操作系统  212

8.5.4  检测Macintosh操作系统  214

8.5.5  检测Unix操作系统  214

8.6  全部脚本  215

8.7  例子:登录页面  219

8.8  小结  224

第9章  事件  225

9.1  今天的事件  225

9.2  事件流  226

9.2.1  冒泡型事件  226

9.2.2  捕获型事件  227

9.2.3  DOM事件流  228

9.3  事件处理函数/监听函数  229

9.3.1  IE  230

9.3.2  DOM  231

9.4  事件对象  232

9.4.1  定位  233

9.4.2  属性/方法  233

9.4.3  相似性  235

9.4.4  区别  238

9.5  事件的类型  240

9.5.1  鼠标事件  240

9.5.2  键盘事件  244

9.5.3  HTML事件  246

9.5.4  变化事件  251

9.6  跨平台的事件  252

9.6.1  EventUtil对象  252

9.6.2  添加/删除事件处理函数  252

9.6.3  格式化event对象  254

9.6.4  获取事件对象  258

9.6.5  示例  259

9.7  小结  260

第10章  高级DOM技术  261

10.1  样式编程  261

10.1.1  DOM样式的方法  263

10.1.2  自定义鼠标提示  264

10.1.3  可折叠区域  265

10.1.4  访问样式表  266

10.1.5  最终样式  270

10.2  innerText和innerHTML  271

10.3  outerText和outerHTML  273

10.4  范围  274

10.4.1  DOM中的范围  274

10.4.2  IE中的范围  284

10.4.3  范围在实际中的应用  288

10.5  小结  288

第11章  表单和数据完整性  289

11.1  表单基础  289

11.2  对〈form/〉元素进行脚本编写  291

11.2.1  获取表单的引用  291

11.2.2  访问表单字段  291

11.2.3  表单字段的共性  292

11.2.4  聚焦于第一个字段  292

11.2.5  提交表单  293

11.2.6  仅提交一次  294

11.2.7  重置表单  295

11.3  文本框  295

11.3.1  获取/更改文本框的值  296

11.3.2  选择文本  297

11.3.3  文本框事件  298

11.3.4  自动选择文本  298

11.3.5  自动切换到下一个  299

11.3.6  限制textarea的字符数  300

11.3.7  允许/阻止文本框中的字符  301

11.3.8  使用上下按键操作数字文本  306

11.4  列表框和组合框  308

11.4.1  访问选项  309

11.4.2  获取/更改选中项  309

11.4.3  添加选项  310

11.4.4  删除选项  311

11.4.5  移动选项  312

11.4.6  重新排序选项  313

11.5  创建自动提示的文本框  313

11.5.1  匹配  314

11.5.2  内部机制  314

11.6  小结  316

第12章  表格排序  317

12.1  起点——数组  317

12.2  对单列的表格排序  319

12.2.1  比较函数  320

12.2.2  sortTable()函数  320

12.3  对多列表格进行排序  323

12.3.1  比较函数生成器  323

12.3.2  修改sortTable()方法  324

12.3.3  逆序排列  325

12.3.4  对不同的数据类型进行排序  327

12.3.5  高级排序  330

12.4  小结  334

第13章  拖放  335

13.1  系统拖放  335

13.1.1  拖放事件  336

13.1.2  数据传输对象dataTransfer  341

13.1.3  dragDrop()方法  345

13.1.4  优点及缺点  346

13.2  模拟拖放  346

13.2.1  代码  347

13.2.2  创建放置目标  349

13.2.3  优点及缺点  352

13.3  zDragDrop  352

13.3.1  创建可拖动元素  352

13.3.2  创建放置目标  353

13.3.3  事件  353

13.3.4  例子  354

13.4  小结  355

第14章  错误处理  356

14.1  错误处理的重要性  356

14.2  错误和异常  357

14.3  错误报告  358

14.3.1  IE(Windows)  358

14.3.2  IE(MacOS)  359

14.3.3  Mozilla(所有平台)  359

14.3.4  Safari(MacOS)  360

14.3.5  Opera  7(所有平台)  361

14.4  处理错误  362

14.4.1  onerror事件处理函数  362

14.4.2  try...catch语句  365

14.5  调试技巧  370

14.5.1  使用警告框  370

14.5.2  使用Java控制台  371

14.5.3  将消息写入JavaScript控制台  (仅限Opera  7+)  372

14.5.4  抛出自定义错误  372

14.5.5  JavaScript校验器  373

14.6  调试器  374

14.6.1  Microsoft  Script  Debugger  374

14.6.2  Venkman  376

14.7  小结  383

第15章  JavaScript中的XML  384

15.1  浏览器中的XML  DOM支持  384

15.1.1  IE中的XML  DOM支持  384

15.1.2  Mozilla中XML  DOM支持  388

15.1.3  通用接口  393

15.2  浏览器中的XPath支持  403

15.2.1  XPath简介  403

15.2.2  IE中的XPath支持  404

15.2.3  Mozilla中的XPath支持  404

15.3  浏览器中的XSLT支持  408

15.3.1  IE中的XSLT支持  410

15.3.2  Mozilla中XSLT支持  413

15.4  小结  415

第16章  客户端与服务器端的通信  416

16.1  cookie  416

16.1.1  cookie的成分  416

16.1.2  其他安全限制  417

16.1.3  JavaScript中的cookie  417

16.1.4  服务器端的cookie  419

16.1.5  在客户端与服务器端之间传递cookie  422

16.2  隐藏框架  423

16.3  HTTP请求  426

16.3.1  使用HTTP首部  428

16.3.2  实现的复制品  429

16.3.3  进行GET请求  430

16.3.4  进行POST请求  430

16.4  LiveConnect请求  431

16.4.1  进行GET请求  431

16.4.2  进行POST请求  433

16.5  智能HTTP请求  435

16.5.1  get()方法  435

16.5.2  post()方法  438

16.6  实际使用  439

16.7  小结  439

第17章  Web服务  440

17.1  Web服务快速入门  440

17.1.1  Web服务是什么?  440

17.1.2  WSDL  441

17.2  IE中的Web服务  443

17.2.1  使用WebService组件  444

17.2.2  WebService组件例子  445

17.3  Mozilla中的Web服务  447

17.3.1  加强的特权  447

17.3.2  使用SOAP方法  448

17.3.3  使用WSDL代理  451

17.4  跨浏览器的方案  454

17.4.1  WebService对象  454

17.4.2  Temperature  服务  456

17.4.3  使用TemperatureService对象  458

17.5  小结  458

第18章  与插件进行交互  459

18.1  为何使用插件  459

18.2  流行的插件  460

18.3  MIME类型  460

18.4  嵌入插件  461

18.4.1  加入参数  461

18.4.2  Netscape  4.x  462

18.5  检测插件  462

18.5.1  检测Netscape式插件  463

18.5.2  检测ActiveX插件  467

18.5.3  跨浏览器检测  469

18.6  Java  applet  470

18.6.1  嵌入applet  470

18.6.2  在JavaScript中引用applet  471

18.6.3  创建applet  471

18.6.4  JavaScript到Java的通信  472

18.6.5  Java到JavaScript的通信  475

18.7  Flash动画  477

18.7.1  嵌入Flash动画  477

18.7.2  引用Flash动画  478

18.7.3  JavaScript到Flash的通信  478

18.7.4  Flash到JavaScript通信  481

18.8  ActiveX控件  483

18.9  小结  485

第19章  部署问题  486

19.1  安全性  486

19.1.1  同源策略  486

19.1.2  窗口对象问题  487

19.1.3  Mozilla特有的问题  488

19.1.4  资源限制  490

19.2  国际化  491

19.2.1  使用JavaScript检测语言  491

19.2.2  策略  492

19.2.3  字符串的思考  492

19.3  优化JavaScript  495

19.3.1  下载时间  495

19.3.2  执行时间  499

19.4  知识产权的问题  512

19.4.1  混淆  512

19.4.2  Microsoft  Script  Encoder(仅IE)  513

19.5  小结  514

第20章  JavaScript的未来  515

20.1  ECMAScript  4  515

20.1.1  Netscape的提案  515

20.1.2  实现  521

20.2  ECMAScript  for  XML  522

20.2.1  途径  522

20.2.2  for  each..in循环  524

20.2.3  新的类  524

20.2.4  实现  532

20.3  小结  532

索引

推荐帖子 最新更新时间:2021-06-20 15:26

【TIVA C Launchpad 学习笔记五】DAC7611驱动程序
/******************************************* 开发坏境:CCSv5.4 开发板:TIVA C Launchpad(TM4C123GH6PM) 程序功能:DAC7611 程序说明: 编程者:Linchpin ********************************************/ #include #include
Linchpin 微控制器 MCU
uf2 简介
UF2是一种新的二进制文件格式,由Microsoft为PXT (也称为Microsoft MakeCode)开发,可以通过MSC(Mass Storage Class,也称为可移动闪存驱动器)方式更新程序。与DAPlink类似,UF2也提供了CDC串行接口,可以方便的和主机通信与调试程序。 文件格式 UF2文件由512字节块组成。每个块以32字节头开始,后跟数据和最终幻数。除数据外,所有字段都
dcexpert MicroPython开源版块
quartus在定义引脚时出现问题,求大神帮忙解决。没招了。
BDF如下 定义引脚截图如下 问题就在这,BDF里的DIV_SEL的四个引脚不能定义。只是一直在在单独定义每个模块。单个模块的功能是,当是1时2分频,当是0时5分频。然后把四个级联起来,由单片机分别给四个DIV_SEL接口给信号,比如是1101,就是2X2X5X2=40分频。  下面是源程序,module div (clk_in,reset_n,div_sel,clk_out); i
lyincyc FPGA/CPLD
关键时刻,怎能没电!世界首款无电池手机诞生!
现代生活中,手机逐渐成为人们生活不可或缺的一个东西,然而,这个东西他随时都可能有没电危机!!关键时刻怎能没电!现在最新消息,据外媒报道,美国华盛顿大学的研究人员最近发明了一款不需要充电的无电池手机,能从无线信号和环境光线中获取能量,从而实现续航一辈子的梦想!下面来看看这款传说不用电池的手机   传说中,这款设备仅需几毫瓦的电量就能打接电话,它的电量来源于光或者是周围的无线信号。该团队
木犯001号 电源技术
让无线蓝牙耳机“听懂”用户的心声
本帖最后由 muyankop 于 2018-7-6 14:58 编辑 Qualcomm与百度DuerOS让无线蓝牙耳机“听懂”用户 7月4日,在北京举办的百度AI开发者大会上,百度正式发布DuerOS3.0。在同期举办的百度智能生活论坛上,百度携手Qualcomm,现场展示了双方联手打造的小度蓝牙+DuerOS3.0版本的蓝牙音频产品解决方案。 采用Qualcomm QCC5100系列的
muyankop 移动便携
单电源运放添加偏置电压的原因
      运放的特点是输出幅值不能超过电源电压的压差,对于传统单电源运放,如LM358,输出电压幅值不能达到电源电压上下限。       单电源运放工作时只能放大对地为正(同向输入)或为负(反向输入)的直流电压,若输入为对地的交流信号时,则只能放大正半波或负半波,另一半波会因为截止而产生严重失真。 为了得到不失真的交流放大信号,需要在输入端叠加一个偏置电压,一般为1/2 VCC。
fish001 模拟与混合信号

评论

登录/注册

意见反馈

求资源

回顶部

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved
$(function(){ var appid = $(".select li a").data("channel"); $(".select li a").click(function(){ var appid = $(this).data("channel"); $('.select dt').html($(this).html()); $('#channel').val(appid); }) })
×