随笔分类 - js学习手札
摘要:1、filter方法,接收一个函数作为参数,新建一个数组,遍历数组内的每个元素,符合条件的返回 function getOne(a,b){ var arr = a.concat(b); return arr.filter(function(item,index){ return arr.indexO
阅读全文
摘要:一、静态方法和扩展插件(类级别组件和对象级别组件) 1、即是给jQuery命名空间下添加新的全局函数,也称为静态方法。如$.Ajax(), $.extend()就是采用的类级别组件开发; 2、对象级别的组件开发指的是直接在jQuery原型上挂载的方法,这样可以通过选择器获取的jQuery对象实例也能
阅读全文
摘要:一、实现方案(一) 1、通过window.URL.createObjectURL(兼容性较好),实现起来稍微复杂些。 2、通过原生js实现预览 3、原理 1、浏览器提供的window.URL.createObjectURL(参数) 参数部分为图片对象。 2、通过input[file]监听onchan
阅读全文
摘要:一、js继承分类 1、构造函数继承(call/apply) 2、prototype原型链继承 3、非构造函数继承 二、构造函数继承(call和apply的区别在于,传入参数的形式不同) 1、代码实例 2、优点 (1)避免引用类型数据共享 (2)创建子类的时候可以向父类传参 3、缺点 (1)方法都在构
阅读全文
摘要:一、块级作用域下,最简洁的写法 二、通过闭包,隔离各个i的作用域 三、通过给节点设置index属性,然后在获取该属性(设置中间属性搭桥)
阅读全文
摘要:/** * YDUI 可伸缩布局方案 * rem计算方式:设计图尺寸px / 100 = 实际rem 例: 100px = 1rem */ !function (window) { /* 设计图文档宽度 */ var docWidth = 750; var doc = window.document
阅读全文
摘要:一、是什么 一种异步请求数据的web开发技术,对于改善用户体验和页面性能很有帮助。简单的说就是在不需要刷新页面的情况下实现局部dom的更新。应用场景如:模糊查询以及验证提示等。 二、原理 因为js是一个单线程的脚本语言,那么他是如何实现ajax异步的呢?这就得益于流浪器提供的一个XMLHttpReq
阅读全文
摘要:一、nginx相关 1、正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。 2、反向代理
阅读全文
摘要:一、技术背景 postMessage是html5引入的API可以更方便、有效、安全的解决这些问题。postMessage()方法允许来自不同源的脚本采用异步方式进行有限的通信,可以实现跨文本档、多窗口、跨域消息传递。 二、使用 otherWindow.postMessage(message, tar
阅读全文
摘要:一、原理 1、iframe内联框架的src属性跨域加载资源的能力 2、window.name 值在不同的页面(甚至不同域名)加载后依旧存在(如果没修改则值不会变化),并且可以支持非常长的 name 值(2MB)或者说 window.name属性值在文档刷新后依旧存在的能力 二、总体框架及代码 1、A
阅读全文
摘要:一、原理 1、主域相同,子域不同,可以设置document.domain来解决跨域。 2、在http://www.example.com/a.html和http://sub.example.com/b.html两个文件中都加上document.domain = "example.com"; 3、通过
阅读全文
摘要:一、demo情景 1、通过gulp在本地开启两个服务器; 2、服务器协议相同、端口或者域名不同(通过gulp-connect设置) 3、后台用js文件模拟后台返回数据。(仅仅只是简单的执行前台传入的函数) 二、为封装代码写法 1、服务器一中的 test1.js 文件 2、服务器二中的 test1.j
阅读全文
摘要:window.onload=function(){ //get请求======================================================================================== function ajaxGet(url,success,fail){ var xhr = window.XMLHttpR...
阅读全文
摘要:一、报错代码及原因 1、或者吧init函数写在JQ的$(document).ready函数里面也会报标题错误;原因是未找到该函数; 二、为什么会报错? 1、具体原因应该是和html渲染过程有关。这里就不详细说;总之就是点击的时候立即执行,发现该函数还未定义。所以就报错了; 2、解决办法:一个是直接写
阅读全文
摘要:一、为什么存在 因为setInterval执行的时候,是在全局作用域下的,所有this指向的是全局window,而window上没有name和age,所以输出的是undefined。 通常的写法是缓存this,然后在setInterval中用缓存的this进行操作,如下: 二、和普通函数的区别 从上
阅读全文

浙公网安备 33010602011771号