随笔分类 -  Js

浏览器 HTTP 协议缓存机制详解
摘要:最近在准备优化日志请求时遇到了一些令人疑惑的问题,比如为什么响应头里出现了两个 cache control、为什么明明设置了 no cache 却还是发请求,为什么多次访问时有时请求里带了 etag,有时又没有带?等等。。。 后来查了一些资料以及同事亲自验证,总算对这些问题有了个清晰的理解,现在整理 阅读全文
posted @ 2016-09-21 15:13 xixi_xixi 阅读(350) 评论(1) 推荐(0)
JS函数的上下文环境
摘要:var i=1; var fn1=function(){ console.log(i); } var fn2=function(){ var i=2; fn1(); } fn2(); // 1 fn1()函数的指向为window。函数的执行环境是在定义时确定的。 阅读全文
posted @ 2016-09-19 21:01 xixi_xixi 阅读(743) 评论(0) 推荐(0)
ready和onload的区别
摘要:$(document).ready()和window.onload在表面上看都是页面加载时我们就去执行一个函数或动作,但是在具体的细节上$(document) ready()和window onload还是有区别的。 最基本的区别 1.执行时间 window.onload必须等到页面内包括图片的所有 阅读全文
posted @ 2016-09-18 11:45 xixi_xixi 阅读(18434) 评论(1) 推荐(2)
自定义事件
摘要:自定义事件:让一个函数能够具备事件的某些特性。主要是跟函数有关。 我们都知道,相同名字的函数会被覆盖,如: 当我们换一种写法,将它写成事件的样子,就不会覆盖: 其实show还是函数,只是让它具有了事件的特性。这样添加的事件不会覆盖。 自定义事件: //添加自定义事件 //主动触发自定义事件 阅读全文
posted @ 2016-09-18 08:59 xixi_xixi 阅读(222) 评论(0) 推荐(0)
JS 设计模式
摘要:1、单例模式:产生一个类的唯一实例 例如:我们在页面中添加遮罩层,每次只能有一个遮罩层存在,因此为单例模式。 在创建遮罩层之前判断是否已经存在,若没有存在,则创建。 这里使用闭包,将是mask变量封装在createMask内。 2、工厂模式:产生多个相似的实例 这里使用的是 var x = Pare 阅读全文
posted @ 2016-09-17 12:36 xixi_xixi 阅读(253) 评论(0) 推荐(0)
质数, 回文 小代码
摘要:1、查找start到end之间所有的指数 2、查找最长的回文字符串 知识点:跳出for循环 (1)break;--跳出当前for循环(一层) (2)跳出多层for循环 js 跳出多层循环 loop1: //需要将循环命名 for(var i=0;i<10;i++){ for(var j=0;j<5; 阅读全文
posted @ 2016-09-12 21:56 xixi_xixi 阅读(208) 评论(0) 推荐(0)
event.stopPropagation()与event.preventDefault()
摘要:<div id='div0'> <div id='div1'> <a href="#" id='div2'>2222</a> </div> </div> (1)event.preventDefault()表示阻止默认事件发生:如a标签的跳转事件 我们给a标签添加该事件,则a不再跳转。 (2)even 阅读全文
posted @ 2016-09-09 21:12 xixi_xixi 阅读(925) 评论(0) 推荐(0)
js事件处理机制
摘要:一、事件处理程序 a. DOM0级事件处理程序,被认为是元素的方法。 在事件处理程序中,通过this访问元素的任何属性和方法。 b. DOM2级事件处理程序 DOM2级事件定义了两个方法,用于处理指定和删除事件处理程序的操作:addEventListener( )和removeEventListen 阅读全文
posted @ 2016-09-09 20:54 xixi_xixi 阅读(727) 评论(0) 推荐(0)
判断JS是否加载完成
摘要:在正常的加载过程中,js的加载都是同步的,也就是在加载过程中,浏览器会阻塞接下来的内容的加载。这时候我们就要用到动态加载,动态加载是异步的,如果我们在后边要用到这个动态加载的js文件里的东西,就要保证这个文件加载完成后,再执行下面的内容。 如何判断js是否加载完成?(实现loadScript(url 阅读全文
posted @ 2016-08-31 22:21 xixi_xixi 阅读(19380) 评论(0) 推荐(0)
对象的继承
摘要:fucntion Person(name,sex){ //父类 this.name=name; this.sex=sex; } Person.prototype.showName=function(){ alert(this.name); } function Star(){} //子类 现在有一个 阅读全文
posted @ 2016-08-30 16:45 xixi_xixi 阅读(1019) 评论(0) 推荐(0)
ajax上传图片到服务器
摘要:通过Ajax方式上传文件,使用FormData进行Ajax请求。上传文件或图片时,要求的格式为enctype ="multipart/form-data"(以二进制格式上传),在使用ajax上传时需要注意。 html代码: js代码: 当上传完成,我们可以拿到控制台的信息: Content-Type 阅读全文
posted @ 2016-08-22 13:11 xixi_xixi 阅读(21517) 评论(1) 推荐(0)
js正则函数
摘要:js的正则函数主要有有replace,match,test,search,exec。 首先对文中的变量进行说明: rgExp为包含正则表达式模式和可用标志的正则表达式对象。也可以是包含正则表达式模式和可用标志的变量名或字符串文字。 /i (忽略大小写) /g (全文查找出现的所有匹配字符) (1)m 阅读全文
posted @ 2016-08-04 09:13 xixi_xixi 阅读(398) 评论(0) 推荐(0)
Js的引用赋值与传值赋值
摘要:要说js的赋值方式时首先要说明js的数值类型:基本类型和引用类型。 1、基本类型 基本的数据类型有:undefined,boolean,number,string,null。 基本类型存放在栈区,访问是按值访问的,就是说你可以操作保存在变量中的实际的值。 当基本类型的数据赋值时,赋得是实际的值,a和 阅读全文
posted @ 2016-07-28 15:17 xixi_xixi 阅读(25838) 评论(0) 推荐(2)
call & apply
摘要:对于apply和call两者在作用上是相同的:这两个方法通常被用来类的继承和回调函数。但两者在参数上有区别的。call函数和apply方法的第一个参数都是要传入给当前对象的对象,及函数内部的this。后面的参数都是传递给当前对象的参数。 如 func.call(func1,var1,var2,var 阅读全文
posted @ 2016-07-26 09:42 xixi_xixi 阅读(250) 评论(0) 推荐(0)
Js 操作Json
摘要:JSON是一个提供了stringify和parse方法的内置对象,前者用于将js对象转化为符合json标准的字符串,后者将符合json标准的字符串转化为js对象。 parse方法相当于eval()方法 var obj =JSON.parse(str); = var obj = eval('(' + 阅读全文
posted @ 2016-07-12 17:19 xixi_xixi 阅读(173) 评论(0) 推荐(0)
一行能装逼的JavaScript代码
摘要:一行能装逼的JavaScript代码 2016-06-28 野狗 一行神奇的JS代码,当时我就震 惊了,这不就是传说中的ZB神奇么… … 哈哈。 写本篇文章的缘由是之前看到了一段js代码,如下: (!(~+[])+{})[--[~+""][+[]]*[~+[]] + ~~!+[]]+({}+[])[ 阅读全文
posted @ 2016-06-30 14:57 xixi_xixi 阅读(3290) 评论(1) 推荐(1)
Date 对象总结
摘要:Date对象,是操作日期和时间的对象。Date对象对日期和时间的操作只能通过方法。 无参数: var date=new Date(); console.log(date) // Mon Jun 27 2016 21:35:13 GMT+0800 (中国标准时间) 有参数: var date=new 阅读全文
posted @ 2016-06-28 09:28 xixi_xixi 阅读(283) 评论(0) 推荐(0)
JS从头开始
摘要:API:应用程序编程接口 HTML:超文本标记语言 XML:可扩展标记语言 HTML和XML的差别:设计目的不同:XML被设计用来传输和存储数据,其焦点在数据的内容;HTML被设计用来显示数据,其焦点在数据的外观上。 DOM(Document Object Model):文档对象模型; 一个完整的 阅读全文
posted @ 2016-06-07 15:35 xixi_xixi 阅读(316) 评论(0) 推荐(0)