JavaScript高级程序设计阅读笔记

2020-11-15

  1. 通过初始化指定变量类型 数字-1 对象null
  2. 和null的比较(不理解)
  3. 使用局部变量将属性查找替换为值查找(算法复杂度)
  4. 循环的减值迭代,降低了计算终止条件的复杂度
  5. switch快
  6. 多个变量声明逗号隔开
  7. 使用数组和对象字面量(接口params参数)

2020-11-16

第21章 Ajax

  1. Ajax Asynchronous JavaScript + XML
  2. 每个HTTP请求和响应都会带有响应的头部信息,setRequestHeader()方法可以设置自定义的请求头部信息
  3. 对XHR而言,位于传入open()方法的URL末尾的查询字符串必须经过正确的编码
  4. function addURLParam(url, name, value) {
    url += (url.indexOf(’?’)) == -1 ? ‘?’:’&’
    url += encodeURIComponent(name) + ‘=’ + encodeURIComponent(value)
    return url }
  5. 使用XHR模仿表单提交,将Content-Type/MIME类型 头部信息设置为application/x-www-form-urlencoded
  6. FormData为序列化表单以及创建与表单格式相同的数据提供了便利,不必明确地在XHR对象上设置请求头部,XHR对象能够识别传入的数据类型是FormData的实例
    var data = new FormData() data.append(‘name’, ‘Leo’) 第25章 新兴的API -
    FileAPI
  7. File对象的只读属性type是文件的MIME类型
  8. FileReader可以读取文件中的数据 new FileReader() → 使用file的API
  9. FileReader提供的方法有: readAsText(file,encoding) 以纯文本形式读取文件 readAsDataURL(file) 读取文件,并将文件以数据URI的形式保存在result属性中 - 读取图片并显示
    readAsBinaryString(file) readAsArrayBuffer(file)
  10. Blob是File类型的父类型 → 读取部分内容
  11. 对象URL即blobURL,引用保存在File或Blob中数据的URL,可以不必把文件内容读取到js中而直接使用文件内容 - 图片
  12. 创建对象URL window.URL.createObjectURL()

常见的媒体格式类型如下:
MDN mime
text/html : HTML格式
text/plain :纯文本格式
text/xml : XML格式
image/gif :gif图片格式
image/jpeg :jpg图片格式
image/png:png图片格式
以application开头的媒体格式类型:

application/xhtml+xml :XHTML格式 application/xml : XML数据格式
application/atom+xml :Atom XML聚合格式 application/json :
JSON数据格式 application/pdf :pdf格式 application/msword :
Word文档格式 application/octet-stream : 二进制流数据(如常见的文件下载)未知的应用程序文件
application/x-www-form-urlencoded : 中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)
另外一种常见的媒体格式是上传文件之时使用的:

multipart/form-data : 需要在表单中进行文件上传时,就需要使用该格式以上就是我们在日常的开发中,经常会用到的若干content-type的内容格式。

问题

1. 导出获取到的文件名乱码

在这里插入图片描述
ISO-8859-1 单字节编码,兼容ASCII码,相当于ASCII码的扩展,无法表示中文字符,系统默认编码
疑问:xhr无法设置相应体头部的编码?
在这里插入图片描述

2. 获取下载进度

  1. window.open方式
    window.open 浏览器托管下载并监听下载完成

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/251234.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jquery --- 监听input框失效

使用juery监听Input输入的变化,并且封装起来,如下: // html <input type"text" id‘myinput1’ /> // js function formOnById(id){let dom # id;$(dom).bind(input propertychange,()>{let item $(dom).val;console.log(item);} } formOnById(myinp…

windows任务计划程序 坑

转载于:https://www.cnblogs.com/kaibindirver/p/8109041.html

第三篇:函数之嵌套

1 #函数的嵌套调用&#xff1a;在调用一个函数的时&#xff0c;其内部的代码又调用其他的函数2 # def bar():3 # print(from bar)4 #5 # def foo():6 # print(from foo)7 # bar()8 #9 # foo() 10 11 12 # def max2(x,y): 13 # if x > y: 14 # ret…

vue路由权限(结合服务端koa2)

gitee地址 一、项目初始化 vue create manager-admin // 创建vue项目// 管理员权限安装 cnpm i -S koa2 // 下载koa2依赖 cnpm install --global koa-generator // 下载框架 koa-generator koa2 manager-server // 创建项目 cd manager-server // 进入项目 npm install // 安…

javascript --- 类、class、事件委托的编程风格

类风格: // 父类 function Widget(width, height) {this.width width || 50;this.height height || 50;this.$elem null; } Widget.prototype.render function($where) {if(this.$elem) {this.$elem.css({width: this.width "px",height: this.height "p…

在线获取UUID

http://fir.im/udid转载于:https://www.cnblogs.com/mtjbz/p/8116576.html

堆和堆排序

堆和优先队列 普通队列&#xff1a;FIFO&#xff0c;LILO 优先队列&#xff1a;出队顺序和入队顺序无关&#xff0c;和优先级相关。一个典型应用就是操作系统中。动态选择优先级高的任务执行 堆的实现 最典型的堆就是二叉堆&#xff0c;就像是一颗二叉树。这个堆的特点&#xf…

ES5-1 发展史、ECMA、编程语言、变量、JS值

1. 5大主流浏览器及内核&#xff08;自主研发&#xff09; 浏览器内核IEtridentChromewebkit blinkSafariwebkitFirefoxgeckoOperapresto 2. 浏览器的历史 和 JS诞生 1989-1991 WorldWideWeb&#xff08;后来为了避免与万维网混淆而改名为Nexus&#xff09;是世界上第一个网页…

javascript --- 使用对象关联简化整体设计

在某个场景中,我们有两个控制器对象: 1.用来操作网页中的登录表单; 2.用来与服务器进行通信. 类设计模式 // 把基础的函数定义在名为Controller的类中,然后派生两个子类LoginController和AuthController. // 父类 function Controller() {this.errors []; } Controller.prot…

javascript --- polyfill中几个常用方法

ES6中,新增了许多有用的方法,下面分享几个ES6之前得版本写的polyfill Number.EPSILON: // 机器精度,并判断2个数是否相等 if(!Number.EPSILON){Number.EPSILON math.pow(2, -52); }function numberCloseEnoughToEqual(n1, n2) {return Math.abs(n1 - n2 ) < Number.EPSIL…

[Usaco2010 Nov]Visiting Cows

题目描述 经过了几周的辛苦工作,贝茜终于迎来了一个假期.作为奶牛群中最会社交的牛,她希望去拜访N(1<N<50000)个朋友.这些朋友被标号为1..N.这些奶牛有一个不同寻常的交通系统,里面有N-1条路,每条路连接了一对编号为C1和C2的奶牛(1 < C1 < N; 1 < C2 < N; C1…

ES5-2 语法、规范、错误、运算符、判断分支、注释

1. 错误 MDN错误列表 Uncaught SyntaxError: Unexpected token ) // 语法错误 Uncaught ReferenceError: a is not defined // 引用错误等类型 Uncaught TypeError: Cannot read property toString of null出现一个语法错误&#xff0c;则一行代码都不会执行&#xff08;检查…

新单词 part 4

part 41.veto 英[ˈvi:təʊ]美[ˈvi:toʊ]n. 行使否决权; 否决权&#xff0c;否认权; 否决理由;vt. 否决&#xff0c;不同意; 不批准&#xff0c;禁止;vi. 否决; 禁止;2.acoustics 英[əˈku:stɪks]美[əˈkustɪks]n. 声学; &#xff08;传声系统的&#xff09; 音响效果; 声…

unity深度查找某个子物体和遍历所有子物体方法

本文总结一下关于unity的查找子物体的方法 首先说明一下这里将讲三种查找子物体方法&#xff1a; 查找固定路径的某一个子物体的方法、通过名字深度查找某个子物体的方法、查找父物体下所有子物体的方法。 第一:查找固定路径的某一个子物体的方法 对于已知的路径可以直接用go.t…

javascript --- JSON字符串化

工具函数JSON.stringify()将JSON对象序列化为字符串时也用到了ToString. 看下面的代码: console.log(JSON.stringify(42)); console.log(JSON.stringify("42")); console.log(JSON.stringify(null)); console.log(JSON.stringify(true));所有安全的JSON值都可以使用…

静态链接和动态链接

静态链接和动态链接 静态链接方法&#xff1a;静态链接的时候&#xff0c;载入代码就会把程序会用到的动态代码或动态代码的地址确定下来 静态库的链接可以使用静态链接&#xff0c;动态链接库也可以使用这种方法链接导入库 动态链接方法&#xff1a;使用这种方式的程序并不在一…

ES5-3 循环、引用值初始、显示及隐式类型转换

1. 循环 for循环的三个参数abc&#xff0c;a只执行一次&#xff0c;c在每次循环后执行 // 打印0-100的质数 1不是质数 var list [2] for (var i 3; i < 100; i i 2) {var flag falsefor (var j 0; j < list.length; j) {var cur list[j]if (i % cur 0 &…

hihocoder 二分

题目 一个简单的二分&#xff0c;只是想说明一下&#xff0c;如若要查找一个数组中某个数的下标可以直接用lower_bound()这个函数。只是要考虑到要查找的数不在数组中的这种情况。 #include <cstdio> #include <iostream> #include <algorithm> using namesp…

ubuntu开启ssh服务

更新资源列表&#xff1a;sudo apt-get update -> 输入管理员密码 安装openssh-server: sudo apt-get install openssh-server 查看 ssh服务是否启动&#xff1a;sudo ps -e |grep ssh 启动ssh服务&#xff1a; sudo service ssh start 转载于:https://www.cnblogs.com/ver…

javascript --- 判断只有1个为真

下面写一个用于判断只有一个为真的函数: function onlyOne(a,b,c){return !!((a && !b && !c) ||(!a && b && !c) || (!a && !b && c)); } var a true; var b false;onlyOne(a,b,b) // true onlyOne(a,b,a); // false上述…