![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JS高级程序设计
等时钟成长
“在你还是一个难看的小姑娘时,琼玛,我就爱你。那时你穿着方格花布连衣裙,系着一块皱巴巴的围脖,扎着一根辫子拖在身后。我仍旧爱你”。
展开
-
【JavaScript高级程序设计】第5章(引用类型)
5. 引用类型引用类型的值是引用类型的一个实例 —> 对象引用类型是一种数据结构,用于将数据和功能组织在一起,引用类型描述一类对象所具有的属性和方法 —> 类(对象定义)5.1 Object在应用程序中存储和传输数据的理想选择创建Object实例构造函数 new Object()字面量var a = {} 与 new Object() 一致,只保留默认的属性和...原创 2019-06-25 12:16:51 · 114 阅读 · 0 评论 -
【JavaScript】遍历对象属性
遍历对象属性这篇博客的灵感来自于牛客网的一道题:属性遍历题目描述:找出对象 obj 不在原型链上的属性(注意这题测试例子的冒号后面也有一个空格~)1、返回数组,格式为 key: value2、结果数组不要求顺序1. for infor-in会漏掉不可枚举属性;for-in会遍历原型链上的属性,需要配合hasOwnProperty过滤function iterate(ob...原创 2019-08-07 20:35:35 · 190 阅读 · 1 评论 -
【JavaScript高级程序设计】第15章(canvas)
Canvas 基本APIgetContextvar canvas = document.getElementById("myCanvas");var imgURI = canvas.toDataURL("image/png");var img = document.createElement("img");img.src = imgURI;document.body.appendC...原创 2019-08-04 22:44:56 · 120 阅读 · 0 评论 -
【JavaScript高级程序设计】第22章(高级技巧)
22. 高级技巧JavaScript是一种极其灵活的语言,具有多种使用风格。一般来说,要么使用过程方式,要么使用面向对象方式。然而,由于其天生的动态属性,JavaScript还能使用更复杂和有趣的编程模式。22.1 高级函数安全的类型检测Object.prototype.toString.call() --> [object Array]typeof & inst...原创 2019-07-05 15:07:01 · 159 阅读 · 0 评论 -
【JavaScript高级程序设计】第11~12章(DOM扩展)
11. DOM扩展对DOM的两个主要扩展是Selectors API 和 HTML5,还有Element Traversal 和一些专有扩展11.1 选择符APIquerySelector() 返回与模式匹配的第一个querySelectorAll() 返回NodeListmatchesSelector() 返回true/fasle11.2 元素遍历API对于元素间的空格,...原创 2019-06-29 19:18:08 · 125 阅读 · 0 评论 -
【JavaScript高级程序设计】第23章(离线应用与客户端存储)
23. 离线应用与客户端存储离线应用要与传统客户端应用同场竞技首先,要能确定设备能否上网,以便下一步执行正确的操作然后,应用还必须能访问一定的资源(图像、JavaScript、CSS等)最后,要有本地存储空间,无论是否上网都不妨碍读写23.1 离线检测属性navigator.onLine事件onlineoffline23.2 应用缓存applicati...原创 2019-07-04 17:17:54 · 141 阅读 · 0 评论 -
【JavaScript高级程序设计】第10章(文档对象模型DOM)
10. DOM10.1 节点层次1. NodeDOM1 定义了一个Node 接口在JavaScript中是作为Node类型实现的JavaScript中所有节点类型都继承自Node类型Node常量值描述ELEMENT_NODE1元素TEXT_NODE3文本PROCESSING_INSTRUCTION_NODE7处理指令COMMENT...原创 2019-06-28 20:20:01 · 169 阅读 · 0 评论 -
【JavaScript高级程序设计】第25章(新兴API)
25. 新兴API25.1 requestAnimationFrame()25.2 Page Visibility页面最小化,或隐藏在其他标签后属性document.hidden Booleandocument.visibilityState —> Chrome(hidden, visible, prerender)事件visibilitychange 事件...原创 2019-07-03 23:46:47 · 149 阅读 · 0 评论 -
【JavaScript高级程序设计】第16和17章(HTML5脚本编程和错误处理调试)
16. HTML5脚本编程跨文档消息传递 cross-document messaging, XDM, web messaging原生拖放拖动元素时,依次发生下列事件:dragstartdragdragend当元素被拖动到一个有效的放置目标上时,下列事件一次发生:dragenterdragoverdragleave/drop自定义放置目标取消dragove...原创 2019-07-09 09:37:06 · 134 阅读 · 0 评论 -
【JavaScript高级程序设计】第6章(面向对象设计)
6. 面向对象的程序设计ECMA-262 对象的定义对象是无序属性的集合,属性值可以是基本值、对象和函数对象是一组没有特定顺序的名值对儿。属性就是名值对儿。属性具有特性。6.1 理解对象属性类型ECMAScript中有两种属性:数据属性和访问器属性ES5定义了只有内部才能用的attribute特性,描述property属性的各种characteristic特征数据属...原创 2019-06-24 22:56:53 · 147 阅读 · 0 评论 -
【JavaScript高级程序设计】第1-4章(基础知识)
JavaScript高级程序设计(红宝书)前言2019年6月15日22:15:214 变量、作用域和内存问题5 引用类型6 面向对象JavaScript7 函数表达式13 事件22 高级技巧23 客户端存储·24 最佳实践2019年6月17日21:57:34本笔记只做概念提要,不做大而全,只做小而精1. JavaScript简介JavaScript:ECMAS...原创 2019-06-24 22:43:29 · 164 阅读 · 0 评论 -
【JavaScript高级程序设计】第9章(客户端检测)
9. 客户端检测人们总是提出浏览器应该支持一些公共功能,但是现实是,浏览器有各自的“怪癖”。9.1 能力检测能力检测的目标不是识别特定浏览器,而是识别浏览器的能力。采用这种方式不必顾及特定的浏览器如何如何,只要确定浏览器支持特定的能力,就可以给出解决方案。// 能力检测的基本模式if(object.property){ // use object.property}type...原创 2019-06-27 20:52:44 · 128 阅读 · 0 评论 -
【JavaScript高级程序设计】第20和21章(JSON、Ajax和Comet)
20. JSON2006年,Douglas CrockFord, JSON(JavaScript Object Notation)js对象表示法JSON语法可以表示以下三种类型的值简单值:字符串、数值、布尔值、null,但是不支持undefined对象:无序键值对数组:有序值列表JSON字符串全部用双引号!!!JSON对象属性名必须加引号!!!解析早期使用eval()...原创 2019-07-08 17:30:12 · 150 阅读 · 0 评论 -
【JavaScript高级程序设计】第8章(浏览器对象模型BOM)
8. BOM五大BOM对象:windowlocationscreenhistorynavigator8.1 window对象BOM的核心对象就是windowJavaScript访问浏览器窗口的一个接口ECMAScript规定的Global对象全局作用域中定义的变量和函数都会成为window对象的属性和方法删除问题var定义全局变量不能通过delete操作符...原创 2019-06-26 23:30:34 · 141 阅读 · 0 评论 -
【JavaScript高级程序设计】第24章(最佳实践)
24. 最佳实践24.1 可维护性在早期的网站中,JavaScript主要用于小特效或者表单验证。命名约定变量名应为名词 car, people函数名以动词开头,如getName()。 返回布尔值则以-is开头,如isEnable()变量类型透明初始化,在定义一个变量过后,初始化一个值,来暗示他将来应该如何应用。var found = false;匈牙利标记法,变...原创 2019-07-01 23:04:31 · 137 阅读 · 0 评论 -
【JavaScript高级程序设计】第13章(事件Event)
13. 事件JavaScript与HTML之间的交互是通过事件实现的。可以使用侦听器预定事件。在传统软件工程中被称为观察者模式。支持行为与外观间的松散耦合。13.1 事件流事件流描述的是从页面中接收事件的顺序IE 事件冒泡流NetscapeCommunicator 事件捕获流Event bubbling事件开始时由最具体的元素接受,然后逐级向上传递给较为不具体的节点...原创 2019-07-01 17:51:12 · 189 阅读 · 0 评论 -
【JavaScript高级程序设计】第7章(函数表达式)
7. 函数表达式定义函数的方式有两种:函数声明statementfunction func(){}函数声明提升 function declaration hoisting函数表达式expressionvar func = function(){}匿名函数 anonymous命名函数表达式7.1 递归递归:一个函数通过名字调用自身经典应用:阶乘functi...原创 2019-06-25 20:13:05 · 97 阅读 · 0 评论 -
【JavaScript】正则表达式相关的API
JavaScript里正则常用API1. testreg.test(str); // 返回是否包含正则 true/falsevar str = "abcdefghijkl3mnop2qts";/\d/.test(str); // true2. matchstr.match(reg); // 一般正则表达式加g,会返回包含所有匹配项的数组var str = "abcdefghij...原创 2019-08-07 21:10:45 · 1049 阅读 · 0 评论