stay hungry stay foolish

  • September 08, 2019 其他 阅读时长 ~ 1分钟
    js垃圾回收机制
    JavaScript引擎常用的垃圾回收机制有两种,一种是标记清除法,一种是引用计数法,有的浏览器会同时使用这两种。标记清除法标记清除算法从名称上看,可以拆分为两部分:标记(mark)和清除(sweep)。此算法可以分为两个阶段,一个是标记阶段,一个是清除阶段,下面就分别做一下介绍。 标记阶段:在此阶段,垃圾回收器会从mutator(应用程序)根对象开始遍历。每一个可以从根对象访问到的对象都会被添加一个标识,于是这个对象就被标识为可到达对象。 清除阶段:在此阶段中,垃圾回收器,会对堆...…
  • September 07, 2019 其他 阅读时长 ~ 1分钟
    DOMContentLoaded与load事件区别
    当HTML文档加载并解析完成,并且执行完同步JS代码后将会触发DOMContentLoaded事件;当页面上所有的资源(图片,音频,视频等)被加载以后才会触发load事件,其在DOMContentLoaded事件之后。需要注意的是:同步JS代码如果造成了了新的资源加载请求,将会延迟load事件的触发时间。示例:<!DOCTYPE html><html><head> <title></title></head>&l...…
  • August 31, 2019 移动端 阅读时长 ~ 2 分钟
    安卓四大组件学习笔记
    安卓四大组件包括:Activity、Service、BroadcastReciever、ContentProvider。这四大组件是安卓应用的核心组件,通过这四个组件可以实现复杂的交互,应用之间的数据传输,后台服务等功能。ActivityActivity是安卓应用中的活动界面,可以把它理解为Web中的一个窗口,通过这个窗口,我们可以展示不同的组件,从而形成能和用户交互的界面。其生命周期如下:首次执行app,将会依次执行onCreate、onStart、onResum,用户点击返回键退出...…
  • August 03, 2019 其他 阅读时长 ~ 1分钟
    C-LODOP打印控件使用心得
    C-LODOP Lodop 是专业WEB控件,用它既可裁剪输出页面内容,又可用程序代码直接实现复杂打印。控件功能强大,却简单易用,所有调用如同 JavaScript 扩展语句。简单使用:var pageBreakJs = '<script src="/js/page_break/v1.0/index.js"></script>';var strStyleCSS += '<style>.test{background-color:red}</sty...…
  • July 05, 2019 其他 阅读时长 ~ 1分钟
    post跨域请求
    通常情况下,如果服务器不设置跨域头,页面是获取不到非同域下的post请求数据。利用form+iframe,通过父子页面的数据传递可以实现post跨越请求。有两种方式可以实现父子页面的数据传递。针对支持HTML5的浏览器可以使用postMessage来实现,这种方式支持不同主域页面之间的数据传递。而另外一种是使用回调函数来实现,这种方式只支持同主域(子域名可能不同)页面之间的数据传递。回调函数方式示例:<!DOCTYPE html><html><head&g...…
  • July 05, 2019 其他 阅读时长 ~ 1分钟
    jsonp实现原理
    jsonp通过动态请求脚本文件,可以非常方便的实现不同域名下的数据请求,不过该方法只能发送get请求。示例:<!DOCTYPE html><html><head> <title>jsonp</title> <meta charset="utf-8"></head><body> <button onclick="doJsonp('testFn');">发送JSON...…
  • July 05, 2019 其他 阅读时长 ~ 1分钟
    ie8-无刷新上传
    ie8及以下浏览器不支持ajax来上传文件,可通过iframe来实现无刷新上传,原理参考post跨越请求示例:<!DOCTYPE html><html><head> <title>ie8-无刷新上传</title> <meta charset="utf-8"> <script type="text/javascript"> function suc(data) { ...…
  • February 27, 2019 前端优化 阅读时长 ~ 1分钟
    前端性能优化之-PWA(vue中接入pwa实践)
    目前的应用中,pwa主要用来实现离线存储静态文件(当然还有推送功能,目前看来比较鸡肋),使其在断网的情况下依然可以被浏览器加载。在vue中使用pwa1.manifest.json:{ "scope": "/", "name": "音盟发布后台", "short_name": "音盟发布后台", "start_url": "/", "display": "standalone", "description": "音盟发布后台", "orientation": "portra...…
  • February 15, 2019 构建工具 阅读时长 ~ 1分钟
    jenkins参数化构建
    以下配置用来实现服务器的web相关文件的恢复:以上配置的 project 是选项参数,一行代表一个参数构建时就可以选择参数了…
  • February 15, 2019 JavaScript 阅读时长 ~ 1分钟
    js模拟实现call,apply,bind
    Function.prototype.myCall = function(context) { if(typeof context != 'object') { return; } var fn = Symbol(); var args = []; for(var i=1; i<arguments.length; i++) { args.push(argument...…