2020年3月22日

011天之跨域资源共享CORS

摘要: 通过XHR实现Ajax通信的一个主要限制,来源于跨域安全策略,默认情况下XHR对象只能访问与包含它的页面位于同一个域中的资源。这种安全策略可以预防某些恶意行为。但是,实现合理的跨域请求对于开发某些浏览器的应用也是非常important的。 CORS(Cross-Origin Resource Sha 阅读全文

posted @ 2020-03-22 13:07 AI架构师 阅读(146) 评论(0) 推荐(0)

010天JSON.stringify()详解

摘要: JSON.stringify()除了要序列化的js对象外,还可以接受另外两个参数,这两个参数用于指定以不同的方式序列化js对象。第一个参数是个过滤器,可以是一个数组,也可以是一个函数;第二个参数是一个选项,表示是否在JSON字符串中保留缩紧。单独或组合使用这两个参数,可以更全面深入地控制JSON的序 阅读全文

posted @ 2020-03-22 13:06 AI架构师 阅读(331) 评论(0) 推荐(0)

009天之跨浏览器的事件处理程序

摘要: 为了以️跨浏览器方式处理事件,我们可以使用一些可以隔离浏览器差异的js库。由于业务需求,有时候我们需要写一些我们自己封装一些兼容代码。 比如创建一个addHandler(),它的职责是视情况分别使用DOM0级方法,DOM2级方法或IE方法来添加事件。然后addHandler()方法接受三个参数:要操 阅读全文

posted @ 2020-03-22 13:05 AI架构师 阅读(209) 评论(0) 推荐(0)

使用XHR上传文件要不要了解一下?

摘要: 上传文件 我们通过File API 能够访问到文件内容,然后把文件内容放到send()方法中,再通过POST请求,的确很容易就能实现上传。但这样做传递的是文件内容,因而服务器还得收集提交的内容,然后保存到另外一个文件中。其实,更好的做法是以表单提交方式来上传文件。 表单方式上传?没错!formDat 阅读全文

posted @ 2020-03-22 13:04 AI架构师 阅读(1137) 评论(0) 推荐(0)

简单化最小化语句数

摘要: js的语句数量也影响所执行的操作速度。完成多个操作的单个语句要比完成单个操作的多个语句要快。简写这方方面面的我可以给你几条建议。 1.多个变量声明 var count = 5; var color = 'blue'; var now = new Date(); 可以简写为 var count = 5 阅读全文

posted @ 2020-03-22 13:03 AI架构师 阅读(153) 评论(0) 推荐(0)

高级函数之作用域安全的构造函数

摘要: 构造函数都知道。就是一个使用new操作符调用的函数。当使用new 调用时,构造函数内用到的this对象会指向新创建的对象实例。 function Person(name,age,job) { this.name = name; this.age = age; this.job = job; } le 阅读全文

posted @ 2020-03-22 13:01 AI架构师 阅读(145) 评论(0) 推荐(0)

学会使用高级函数的安全类型检测

摘要: js内置的类型检测机制并非完全可靠,比如typeof操作符,safari直到第四版在对正则表达式应用typeof操作符时会返回function,因此很难确定某个值到底是不是函数。 再比如instanceof操作符在在存在多个全局作用域(像一个页面包含多个frame)也是问题多多。比如 let isA 阅读全文

posted @ 2020-03-22 13:00 AI架构师 阅读(149) 评论(0) 推荐(0)

咦?浏览器又崩了?再试试这个呢!

摘要: 由于连续进行过多的dom操作,有时候会导致浏览器运行崩溃,尤其是在ie中使用onrise事件处理的程序中有dom操作,高频的修改可能会导致浏览器崩溃,为了绕开这个问题,可以用定时器对函数进行节流。 当别人问你,同学说一下函数节流吧? 你可以告诉他,某些代码不可以在没有间断的情况连续重复执行。第一次调 阅读全文

posted @ 2020-03-22 12:58 AI架构师 阅读(225) 评论(0) 推荐(0)

页面太卡了?试试这方法呢!

摘要: 你写的代码导致浏览器运行奔溃,或页面卡住了,卡死了,怎么办? 你可以试试定时器的一个方法,叫做数组分块。 脚本长时间运行的问题通常由两个原因造成的: 1.过长或过深的函数调用 2.进行大量处理的循环。 长时间循环通常遵循下面模式 for(let i = 0,len = data.length; i 阅读全文

posted @ 2020-03-22 12:53 AI架构师 阅读(483) 评论(0) 推荐(0)

2020年3月1日

js进阶之重复的定时器

摘要: 使用setInterval()创建的定时器确保了定时器代码规则的插入队列中,这个的问题是:定时器代码可能在代码再次被添加到队列之前还没有完成执行,结果导致定时器代码连续运行了好几次,而之间没有任何停顿。(js引擎可以避免这个问题,当使用setInterval()时,仅当没有该定时器的任何其他代码实例 阅读全文

posted @ 2020-03-01 14:04 AI架构师 阅读(751) 评论(0) 推荐(0)

导航

  • 国
  • 庆
  • 快
  • 乐
  • !
  • 庆