自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hefeng

学习web前端和js的追赶者

  • 博客(35)
  • 收藏
  • 关注

原创 一些很少用到的js

oninput,onpropertychange,onchange的用法 onchange触发事件必须满足两个条件: a)当前对象属性改变,并且是由键盘或鼠标事件激发的(脚本触发无效) b)当前对象失去焦点(onblur); onpropertychange的话,只要当前对象属性发生改变,都会触发事件,但是它是IE专属的; oninput是onpropertychange的非IE浏览器版本

2016-02-05 16:14:02 452

原创 nodejs学习笔记

module.exports 可以赋值任何形式 module.exports = {hello:hello} module.exports.hello = hello module.exports = function(){} exports 只能赋值键值 exports只能以.的形式来赋值 exports.hello = hello 注:因为默认情况下module.ex

2016-02-05 16:07:33 448

原创 git学习笔记

git init 创建一个版本库 git add xxx 添加文件修改到暂存区 git commit -m xxx 把暂存区的修改提交到分支 git checkout -b xxx 创建并切换到 xxx分支 git checkout xxx 切换到xxx分支 git checkout – readme.txt 一种是readme.txt自修改后还没有被放到暂存区,现在,

2016-02-05 16:06:17 237

原创 js兼容性

var mousewheelevt = (/Firefox/i.test(navigator.userAgent)) ? "DOMMouseScroll" : "mousewheel"FF:event.detail   向下:-120  向上:120其他:event.wheelDelta   向下:3  向上:-3在 IE8- 下,Element 对象被 removeChild

2016-01-20 18:29:51 302

原创 angular发送multipart/form-data文件的方法

var fd = new FormData();fd.append('file',fileInput.files[0]);$http.post("service/...",fd, { transformRequest: angular.identity, headers: {'Content-Type': undefined}

2015-12-15 16:17:41 1817

原创 HTML5之应用缓存

html书写:<html manifest="demo.appcache"></html>cache文件的扩展名是”.appcache”; manifest文件必须设置正确的MIME-type为text/cache-manifest//服务器端设置manifest文件是简单的文本文件,告知浏览器被缓存的内容 CACHE MANIFEST 此标题下列出的文件将在首次下载后进行缓存 NETWORK

2015-11-21 23:09:25 329

原创 3种盒内元素两端对齐方案

ul { list-style: none; padding-left: 0; width:490px; overflow:hidden; background-color: #eee;}li { float:left; width:100px; height:50px; margin-left:30px; margin-bottom:10px;

2015-11-17 22:45:46 1022

原创 url解析函数

function parseURL(url){ var a = document.createElement("a"); a.href = url; return { source:url, protocol:a.protocol.replace(":",""), host:a.h

2015-11-17 22:42:41 432

原创 seajs模块加载

在使用seajs加载模块时,对模块中依赖的模块都要加载一次才能使用,比如用jquery写代码,在每个模块中都需要require一次,像jquery这种全局都需要用到的模块,可以在config中设置preload,保证事先准备好jquery

2015-11-16 22:12:06 340

原创 HTML5之drag

源元素事件 – dragstart drag dragend event.dataTransfer.setData("type","值") dataTransfer是存储要传给目标元素的数据的对象,通过event获取该对象目标元素事件 dragenterdragover // 在该事件中需要阻止事件的默认行为 e.preventDefault();才能触发drop事件d

2015-11-15 17:40:04 299

原创 HTML5之storage

storage包括:localStorage、sessionStorage; 这两个对象直接使用就是,无需创建API:localStorage.setItem("键","值")localStorage.getItem("key");localStorage.removeItem("key");localStorage.clear()//清空localStorage.lengthlocal

2015-11-15 17:35:22 227

原创 HTML5之worker

worker是允许多线程执行的 可用 typeof(Worker)!==undefined检查浏览器是否支持worker创建worker对象——相当于执行worker文件var worker = new Worker("文件地址");//worker文件内 用postMessage(数据)返回数据//设置回调函数处理返回的数据worker.onmessage = function(message

2015-11-15 17:29:30 277

原创 http缓存

浏览器第一次接收响应时:缓存文件        //响应头包括文件的过期时间(cache-controll\Expire)、文件的最后修改时间(last-modified)和根据文件内容生成的ETag;以后请求:    1检查cache-controll(http1.1/优先级更高)或Expire(http1.0)确定缓存是否过期.           没过期:继续使用缓存的文件 

2015-11-15 17:21:23 249

原创 js执行上下文

变量作用域  是程序源代码中定义这个变量的区域作用域链  是存储当前作用域可访问的变量的栈三种代码运行环境:global  function eval执行环境 =》 变量对象 作用域链 thisAO/VO =》 变量 函数声明 函数形参函数被调用时 1.创建阶段(函数被调用,但还没开始执行函数代码)             (1)会创建作用域链 

2015-11-12 21:48:52 421

原创 面试题

var length = 10function fn(){ alert(this.length)}var obj = { length: 5, method: function(fn) { fn() // 10 this指向window arguments[0]() // 1 arguments是一个对象,arguments也有自己的作

2015-11-11 22:25:42 225

原创 网页设计注意事项(总结)

1.首先要吸引眼球,让来访者产生兴趣;所以第一屏一定要吸引眼球;吸引眼球的就是主题,要突出主题,可以用用色彩来衬托; 2.若第一屏颜色单调,内容也简单,内容可以加个通道,导航条颜色可以深一些; 3.要有醒目的通道,通向自己的产品或服务,这样方便产生兴趣的来访者迅速找到目标; 4.首页的信息量不要太大,首页只是让来访者产生兴趣;通到才是指向信息; 5.网站要专业,目标客户要明确,风格要适合目标

2015-11-11 22:22:00 577

原创 ES6定义函数的新方法(generator和箭头函数)

generator函数; 定义 function* foo(){ .... yield x1; .... yield x2; ........ return xn; }调用 var f=foo(); f.next() //x1,false f.n

2015-11-11 22:20:45 1416

原创 ajax知识点

XHR readyState:0:unset(未发送)1:(已创建请求消息)2:(已接受到响应消息的头部) 3:(XHR正在加载响应消息的主体数据)4:(XHR已收完毕响应消息)AJAX实现的效果: 1.客户端和服务器端异步运行 2.客户端页面的局部刷新 3.动态页面静态化7种请求方法: GET HEAD POST PUT TRACE OPTIONS DELETE 只有post put请求

2015-11-11 22:15:58 323

原创 检查数组的方法

instanceofarr instanceof ArrayisPrototypeOfArray.prototype.isPrototypeOf(arr);Object.prototype.toString.call();Object.prototype.toString.call(arr)constructor;arr.constructor === ArrayArray.isArrayArray

2015-11-11 22:14:21 321

原创 flex

flex-direction:row 子元素要设置width或flex;若只设width未设flex,父元素宽度不够,且默认不换行,则子元素按比例显示,子元素只被调整宽度,未设高度则填充; flex-direction:column 同样 flex优先级高于width\height若flex-direction:column align-items:center 才能实现左右居中 若要

2015-11-11 22:02:04 441

原创 Angular知识点

1.不要复用controller,一个controller负责一小块 2.controller里不要操作DOM,DOM操作要用directive(操作view), 3.不要在controller里做数据格式化,ng有更好的表单控件 4.不要在controller里做数据过滤操作,ng有$filter服务 5.controller不会相互调用,控制器的交互通过事件进行特征 1.采用MVC模型

2015-11-11 21:59:18 465

原创 单例模式

单例模式:一个构造函数只有一个实例,可通过构造函数内部判断的方式来实现 使用数据缓存来存储该单例,用作判断单例是否已经生成,是单例模式主要的实现思路。function Construct(){ if(Construct.unique!==undefined){ return Construct.unique; } this.xxx=xxx; Cons

2015-11-11 21:06:20 224

原创 移动端学习笔记

click事件延迟300ms  来判断单击还是双击touchstart和touchend的位置相同,时间间隔较短没有触发touchmove事件,则可认为触发了手持设备上的click事件,一般称它为tap (如zepto库)tap事件比click事件更快BUG:1.tap点透bug//若点击上面一层消失,因为上面一层消失,300ms后下面的元素接受了事件解决方案:1.加入缓动动画,上

2015-11-11 21:01:27 291

原创 angularjs嵌套作用域问题

<!DOCTYPE html><html><head> <title></title> <meta charset="utf-8"> <script src="angular.js"></script></head><body ng-app="todo"> <div ng-controller="ctrl1"> <input type="tex

2015-11-01 23:49:11 892

原创 ajax跨域

跨域:1.协议不同2.主域名不同3.子域名不同4.端口号不同处理跨域的方法1.在同域名的web服务器端创建一个代理。2.jsonp(只支持GET方法)。3.XHR2:header("Access-Control-Allow-Origin:*(允许的域名,*表示全部)");header("Access-Control-AllowMethod:POST,GET");

2015-10-25 23:39:20 243

转载 关于内存泄漏

var theThing = null; var replaceThing = function(){ var priorThing = theThing; var unused = function(){ if(priorThing){ console.log("

2015-10-10 19:26:54 728

原创 DOM一些知识点

window对象有innerWidth和innerHeight属性,可以获取浏览器窗口的内部宽度和高度。内部宽高是指除去菜单栏、工具栏、边框等占位元素后,用于显示网页的净宽高。innerHTML不止修改文本,还可修改插入节点,可以以字符串的方式插入,也可一文档片段的方式插入 createDocumentFragment()第二种是修改innerText或textContent属性,这样可以自动对字

2015-09-30 19:01:37 295

原创 函数多层执行

function jisuan(){ var args = arguments; var sum = 0; var i = 0; var getSum = function(){ sum += args[i]; i++; if(i<args.length){ s

2015-09-30 19:00:14 355

原创 闭包

闭包 在定义函数时就创建了一个作用域链并保存在函数的scope属性中,当调用函数时,会为函数创建一个执行环境,并通过复制scope属性中的对象(变量对象)构建起执行环境的作用域链,并创建该函数的活动对象(可做变量对象)放入作用域链的前端,因此更内层的函数的作用域链会被重新定义,而闭包则是内层函数被更外部的变量对象引用,而内层函数又引用了定义它的环境的活动对象function getCounter(

2015-09-30 18:56:29 273

原创 js学习注意知识

通过构造函数创建对象,在构造函数内部先创造一个空对象,再通过传入的参数赋值,这个对象的原型会指向函数的prototype属性。最后把这个函数内部的对象返回给要实例化的对象。‘=’赋值操作仅仅赋的是指针,如 a.prototype = b.prototype ,它们指向的是同一个对象,当改变a.prototype的属性的时候b.prototype的属性也会跟着改变。但当a.prototype = {

2015-09-30 18:54:55 258

原创 js函数对象的总结

修改用字面量创建的对象的原型的方法; var a = Object.create({a:1}); a.a //1var p = Object.getPrototypeOf(a); p.a = 2; //2 a.a //2var man = { name:"bosn", weibo:"@bosn", $age:null, get age(

2015-09-30 18:52:40 323

翻译 基本的模块写法

基本的模块写法var module1 = (function(){    var _count = 0;    var m1 = function(){      //...    };    var m2 = function(){      //...    };    return {      m1 : m1,      m2 : m2    };  })();添加方

2015-09-30 18:40:05 269

原创 对象的一些API

对象的一些API Object.getPrototypeOf(obj); 函数的原型把obj换为 函数名.prototype; Object.create(obj);创建一个空对象并把空对象的原型指向obj; Object.getOwnPropertyDescriptor(obj,”属性名”) 返回一个新对象与原来的属性标签没有了联系; Object.getOwnPropertyNames

2015-09-30 18:35:38 348

原创 原型关系

原型关系function a(){};a.__proto__ ——>Function.prototype——>Object.prototypea.prototype ={ constructor:a; __proto__:Object.prototype; }var b = new a()b ={ __proto__:a.prototype;}v

2015-09-30 18:30:08 303

原创 20150927js学习回顾

通过childNodes类型的方式查找的节点是NodeList类型;childNodes  children 查找到的都是直接子节点通过getElementsByTagName类型的方式查找的是HTMLCollection类型;        二者都是动态集合给未声明的变量赋值不会出错,但取值会出错,给未声明的变量的下级赋值会出错,访问数组的未赋值的下标不会出错,访问数组的

2015-09-27 18:13:10 308

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除