JS高级程序设计3】的更多相关文章

js高级程序设计笔记之-addEventListener()与removeEventListener(),事件解除与绑定 addEventListener()与removeEventListener()用于处理指定事件和删除事件处理程序.所有的DOM节点中都包含这两种方法,并且它们都接受3个参数:要处理的事件名.作为事件处理程序的函数和一个布尔值.这个布尔值参数是true,表示在捕获阶段调用事件处理程序:如果是false,表示在冒泡阶段调用事件处理程序. 要在按钮上为click事件添加事件处理程…
今天在继续翻阅<JS高级程序设计>的时候,正好翻到location对象这一小节,其中有一部分就是讲的解析查询字符串.看到这个内容立马想到了做去哪儿秋招笔试题的时候有这么一道题. 去哪儿笔试没有过自己还是一直都挺心塞的,可能当时也写得不好吧,现在看到这个内容赶紧记下来. 函数的功能就是为了能逐个访问每个查询字符串参数,返回一个包含所有参数的对象. function getQueryStringArgs(){ //利用location.search属性先提取出URL中的查询字符串,这个字符串包含&…
server.jsvar connect=require('connect');serveStatic=require('serve-static');var app=connect();app.use(serveStatic("../angularjs"));app.listen(5000);运行server.js没反应,localhost:5000/test.html显示cant get test/html angular.js高级程序设计书本开头配置环境出错,谁能给解答一下 &g…
读书笔记 - js高级程序设计 - 第十三章 事件   canvas 具备绘图能力的2D上下文 及文本API 很多浏览器对WebGL的3D上下文支持还不够好   有时候即使浏览器支持,操作系统如果缺缺乏必要的绘图驱动程序,则浏览器即使支持了也没用   <canvas> var drawing = document.getElementById("drawing"); if( drawing.getContext ){     drawing.getContext("…
<JavaScript高级程序设计(第三版)>反反复复看了好多遍了,这次复习作为2017年上半年的最后一次,将所有模糊的.记不清的地方记录下来,方便以后巩固. 0. <script>元素属性 async表示立即下载脚本,但不应该妨碍页面中其他操作: defer表示延迟到文档完全被解析和显示之后再执行.这两个属性都仅适用于外部脚步,而且现实中脚步不一定按顺序执行.指定async属性的目的是不让页面等待脚本下载和执行. 最好只包含一个延迟脚本,把延迟脚本放在页面最底部仍然是最佳选择.…
PS:有一小部分写在了 JS 2017了 JSON <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> IE8支持 JSON.stringify() <script> var book = { "title"…
js没有块级作用域(题外话:函数可以作为一个块级),所以我们经常使用闭包来模拟块级作用域,以避免变量或者函数因为名称相同而产生的冲突. 重点来了: 所以,如果我们把哪个变量或者函数放在全局作用域中,那就说明它不会产生冲突.不会产生冲突的原因是因为只有一个对象调用它,别的都不会调用它. 所以得出结论: 在全局作用域中定义的函数实际上只 能被某个对象调用…
1.instanceof 可以判断实例是否在某个对象的原型上: function A() { this.a = "a"; } function B() { this.b = "b"; } B.prototype = new A(); var test = new B(); console.log(test instanceof A); //true console.log(test instanceof B); //true console.log(test ins…
JS Regexp 字面量模式 用\反斜杠转义 构造函数中的字符串 也用\转义正则也用\ RegExp实例属性 global -布尔值  /g ignoreCase -布尔值 /i lastIndex -整数 表示开始搜索下一个匹配项的字符位置,从0算起. multiline -布尔值 /m source -正则表达式的字符串 RegExp实例方法 exec() 接受一个参数(要应用模式的字符串) ,然后返回包含第一个匹配信息的数组,没匹配近回null,返回的数组包含两个额外的属性:index…
数据类型 ECMAscript中有五种简单数据类型Undefined,Null,Boolean,Number,String 还有一种复杂数据类型Object. typeof操作符 typeof可能返回下列某个字符串 undefined--------------如果这个值未定义 boolean----------------如果这个值是布尔值 string------------------如果这个值是字符串 number----------------如果这个值是数值 object------…
一. 事件流 1. 事件流描述的是从页面中接收事件的顺序 2. 事件冒泡(event bubble):事件从开始时由最具体的元素(就是嵌套最深的那个节点)开始,逐级向上传播到较为不具体的节点(就是Document) <!doctype html> <html> <head> <title>事件冒泡</title> </head> <body> <div id = 'myDiv'> 点击这里 </div&g…
一.语法: 区分大小写; 2.标识符:就是指变量.函数.属性的名字,或者函数的参数 a.标志符的规则:①第一个字符必须是一个字母.下划线(_)或一个美元符号($).                   ②其他字符可以是字母,下划线,美元符号或者数字. b.标志符采用驼峰大小写格式. c.严格模式:在顶部添加以下代码:"use strict"; d.语句:结尾加入分号.在控制语句中使用代码块为最佳实践. 二.关键字与保留字 三.变量:ECMAScript的变量是松散类型,可以保存任何类型…
ecma:欧洲计算机制造商协会iso/iec:国际标准化和国际电工委员会 dom级别(10*)文档对象模型1:DOM核心(映射基于xml文档)与dom html(在dom核心基础上)2:对鼠标,事件,范围,遍历,还有对css样式表的支持dom2:新接口...视图,事件(鼠标,移动),样式(css),遍历与范围(对文档树的操作)3:对文档加载和保存,验证模块,对核心进行扩展,对xml.0规范其他domsvg可伸缩矢量图mathml数学标记语言mghi同步多媒体集成语言ie5 dom1mozilla…
1.JS分三个部分:ECMAScript.DOM.BOM       1)ECMAScript:提供核心语言功能       2)DOM:提供访问和操作网页内容的方法和接口       3)BOM:提供与浏览器交互的方法和接口 2.在html页面写js代码,需要将代码放在<script></script>:并且中间不能出现字符串“</script>”       下方这个代码会报错:alert("</script>");        可…
1:JS中的一切(变量,函数名和操作符)都是区分大小写的 2:标识符(变量,函数,属性的名字,以及函数的参数),第一个字符必须是字母,下划线,或者美元$,书写方式采用驼峰式,不能将关键字作为标识符. 3:JS的变量是松散类型,每个变量仅仅是一个用于保存值的占位符,未初始化的变量都会保存一个特殊值--undefined. 4:JS的五种基本数据类型(Undefined,Null,Boolean,Number,String),复杂数据类型--Object(本质是一组无序的键值对组成).从技术上讲,函…
面向对象 ,基本模式.对象字面量模式.工厂模式.构造函数模式.原型模式.组合构造函数和原型模式.其他模式见电子书:动态原型模式.寄生构造函数模式(不推荐).稳妥构造函数模式(要求安全的环境,不使用new 和 this) //面向对象 /* [ 数据属性] * configurable true 通过 delete删除属性来修改属性 * enumberable true 通过 for-in 返回属性 * writable true 修改属性值 * value 数据值 * es5 通过 Object…
defer 异步脚本,脚本延迟到文档完全被解析和显示之后再执行.只对外部脚本文件有效.按顺序执行脚本.但在实际情况下,并不一定会按照顺序执行最好只有一个延迟脚本.支持H5的浏览器会忽略给脚本设置 defer 属性async 异步脚本,不保证按脚本的先后顺序执行.异步脚本一定会在页面的Load事件前执行. IE10+支持严格模式 function test (){ a = 12; //没有var, a 是全局变量, 不推荐 严格模式下会报错 ”use strict" } test(); conso…
BOM提供了很多对象,用于访问浏览器的功能.这些功能与任何网页无关. 1BOM的核心对象是window,它代表浏览器的一个实例,它是通过JS访问浏览器窗口的一个借口,同时又是ECMAScript规定的global对象,因此我们在网页中定义的任何一个对象,变量和函数都是以window作为其global对象的(ES6规定,let,const,class定义的全局变量,不再是以window作为global) 注意:定义的全局变量是不能通过delete操作符删除的,但是window对象上面定义的属性可以…
1在将一个值赋给变量时,解析器必须确认这个值是基本类值还是引用类型值,基本类型值是按值访问的,可以操作保存在在变量中的实际值,引用类型是保 存在内存中的对象,JS不允许直接访问内存中的位置,所以实际操作的是对象的引用而不是实际对象.(当复制保存这对象的某个变量时,操作的是对象的引用,但是为对象添加属性的时候,操作的却是实际对象). 2"JS一切皆对象",当然了简单值就不是对象.对象就是若干属性的集合,所以说对象只有属性,没有方法.其实方法也是属性,因为他的属性表现为键值对,对象可以随意…
javascript产生的原因: 在拨号上网时代,表单数据必须发送到服务器端才能验证输入值得有效性,JavaScript的研发就是为了解决这个问题,以便在客户端就验证输入值的有效性. ECMAScript/JavaScript: JavaScript是Netscape公司于1995年发布的脚本语言,ECMAScript是欧洲计算机制造商协会定义的一种通用.跨平台.供应商中立的脚本语言的语法和语义. 一个完整的JavaScript实现包含: 核心(ECMAScript):由ECMA-262定义,提…
一.关键字 二.保留字 三.数据类型 (数据类型具有动态性)   1.Undefined 声明变量却未对其加以初始化(赋值) 2.Null null值表示一个空对象指针,而这也正是使用typeof操作符检测null值时,会返回"object"的原因. 注:undefined派生自null值,因此,alert(null == undefined); //true 3.Boolean 4.Number 浮点数值,就是该数值中必须包含一个小数点.浮点数值的最高精度是17位小数.用e或者E表示…
1,错误处理 1,try-catch语句 try{可能导致错误的代码} catch(error) {在错误发生时该怎么处理} error.message是所有浏览器都支持的属性. finally语句是不论代码如何都会执行的. 2,错误类型 Error是基类型,其他错误都继承自该类型. EvalError:使用eval函数发生异常时被抛出 RangeError: 数值超出相应范围时触发. ReferenceError: 找不到对象,变量不存在 SyntaxError: 语法错误 TypeError…
一,基础知识 在html中,表单是form元素,而在js中,表单对应的是HTMLFormElement类型,继承自HTMLElement,其独特的属性和方法有(常见): action:接收请求的URL, elements: 表单中所有控件的集合 length: 表单中控件的数量 method: 发送的http请求的类型. name: 表单的名称. reset() : 重置所有表单域. submit() : 提交表单. 1,提交表单 input type=submit       button t…
DOM是针对HTML和XML文档的一个API.DOM描绘了一个层次化的节点树,允许开发人员添加.移除和修改页面的某一部分. 1,节点层次 DOM可以将任何HTML或XML文档描绘成一个由多层节点构成的结构.每个节点都有自己的特点.数据和方法,也与其他的节点存在某种关系.构成了层次. <html>元素为文档元素.是文档的最外层元素.每一段标记都可以通过一个节点来表示.HTML元素通过元素点表示,特性通过特性点来表示.文档类型通过文档类型节点来表示.注释通过注释节点来表示.共有12种节点类型,这些…
1,理解对象 通过对象字面量的方式,创建一个对象,为它添加属性和方法: var obj = { a: 1, b:2, sayA(){ console.log(this.a)}} 1,属性类型: 数据属性 : 数据属性包含一个数据值的位置.在这个位置可以读取和写入值.有四个特性 configurable  enumerable   writable  value  :  分为的意思为:是否能通过delete删除(能否修改特性).是否能通过for-in循环.是否能修改属性的值.包含这个属性的值 通过…
一,变量和作用域 1, js变量可以保存两种类型,基本类型.引用类型和symbol类型,基本类型有5种:undefined.null.boolean.number.string,它们都有以下的特征 基本类型在内存中占据固定大小的空间,因此被保存在栈内存中 从一个变量向另一个变量复制基本类型的值,会创建这个值的一个副本 引用类型的值是对象,保存在堆内存中 包含引用类型的变量只是一个指向该对象的指针 复制引用类型,只是复制了指针,其实两个变量都指向同一个对象. 确定基本类型的种类可以使用typeof…
JavaScript简史 JavaScript由Netscape(网景)公司在1995年发布,最开始的主要目的是处理以前由服务器端语言负责的一些输入验证操作,以便提高用户体验,后来就慢慢的发展为一门强大的编程语言.作者建议:要想全面理解和掌握JavaScript,关键在于弄清楚它的本质.历史和局限性. JavaScript实现 一个完整的JavaScript实现=核心(ECMAScript)+文档对象模型(DOM)+浏览器对象模型(BOM). 1.ECMAScript:由ECMA-262定义的E…
前言:这次是二刷了,想暑假做一次完整的笔记,但用本子来写笔记的话太贵了,可能哪天还丢了..所以还是博客好== 第二章:在HTML中使用JavaScript 2.1 <script>元素: 即在HTML页面插入JS的主要方法.HTML4.01定义了以下JS属性(主要): async :表示立即下载脚本(只对外部脚本文件有效),但不妨碍页面中的其他操作. defer : 表示脚本可以延迟到文档完全被解析和显示之后再执行(只对外部脚本文件有效). src : 表示包含要执行代码的外部文件. type…
前言:纯手打!!!按照自己思路重写!!!这次是二刷了,想暑假做一次完整的笔记,但用本子来写笔记的话太贵了,可能哪天还丢了..所以还是博客好== 第四章:变量.作用域和内存问题 4.1 基本类型和引用类型的值: ECMAScript变量可能包含两种不同数据类型的值:基本类型值和引用类型值. 基本类型值: 指的是简单的数据段. 类型:Undefined.Null.Boolean.Number.String.这五种基本数据类型是按值访问的,因为可以操作保存在变量中的实际的值. 在内存中占据固定大小的空…
1.浮点数值 虽然小数点前面可以没有整数,但是并不推荐这种写法. 由于保存浮点数值需要的内存空间是保存整数值的两倍,因此ECMAScript会不失时机地将浮点数值转化为整数数值.显然,如果小数点后面没有任何数字,那么这个数值就可以作为整数值来保存.同样,如果浮点数值本身表示的就是一个整数,那么该值也会被转换为整数.例如: var floatNum1 = 1.; //小数点后没有数字——解析为1 var floatNum2 = 10.0;//整数,解析未10 浮点数值的最高精度是17位小数,但在进…