上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 13 下一页
摘要: 1.建立兼容性强的XHR对象有那么复杂么?看过一些书,书上为了写针对低版本IE和其他非IE浏览器需要写一大串兼容函数,典型的就是JS高级程序上的。可是在现实开发中,为了兼容IE6/IE7,只需要这样创建一个XHR对象: var XHR=new ActiveXObject('Microsoft.XML... 阅读全文
posted @ 2014-03-23 15:25 白菜帮子 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 1.WebStorage分为:sessionStorage和localStorage两种,除了session的生命周期是在该域全部页面被关闭后就被清除而local是无限期存在外,二者的使用与方法属性事件都相同。简介:Cookie未来的替代品。有存储量大、稳定、存取简便的优点,缺点是安全性,虽然每个域都会有它独立的Storage,但是使用跨域的手段依然能够取到非本域的Storage数据,但是在常规使用上是不存在跨域问题的。几个方法:setItem(key,value)存值getItem(key) 取值clear() 清空key(index) 取键removeItem(key) 删除这个值属性:l 阅读全文
posted @ 2014-03-19 15:28 白菜帮子 阅读(369) 评论(0) 推荐(0) 编辑
摘要: JavaScript引擎在开始编译代码的时候,会对JavaScript代码进行一次预编译,生成一个执行环境,比如如下代码:window.onload=function(){ function sub(a,b){ return a-b; } var result=sub(5,10);}就会生成如下图所示的一个类似嵌套的执行环境的逻辑结构视图,说明:这些执行环境(也叫作用域)都会有一个变量对象,这些变量对象保存着该执行环境(作用域)中的所有变量与函数的名和值,虽然JavaScript代码还没有执行,但是你所书写的代码中的所有变量名和函数名已经提前保存在了这些变量对象中。当代码执行的时候,这些变.. 阅读全文
posted @ 2014-03-18 13:00 白菜帮子 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 还是之前那一段简单的javascript代码:window.onload=function(){ function sub(a,b){ return a-b; } var result=sub(10,5);}这段代码中的执行环境已经数清楚了,可是执行环境只是代码在预编译过程中javascript引擎所做的事情,当代码在window onload事件被触发,且sub函数被执行的时候会发生什么事情呢?1.javascript引擎会在页面加载脚本被执行时为每个函数创建一个作用域(执行上下文)及作用域链。2.javascript引擎在产生这些作用域后,会创建一个堆栈。3.将onload对应的匿名函.. 阅读全文
posted @ 2014-03-17 11:09 白菜帮子 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 简单粗暴上代码 KMP的原理我就不讲了,想转过弯儿来不容易,建议大家先学会了怎么推导出next数组规律,然后准备两张纸,大纸上写上一行你要匹配的目标字符串,并分别写出位置编号,小纸上写上一行,也写上位置编号和对应的next数组编号,然后移动小纸片模拟匹配过程,你就会了。(用画图模拟也行) 从以上推导 阅读全文
posted @ 2014-03-14 18:04 白菜帮子 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 1.如何实现一个轮询?function getMessage(url,callback){ var XHR=new XMLHttpRequest(); XHR.open('get',url,true); XHR.onreadystatechange=function(){ if(XHR.readyState==4){ //do something if(callback){ callback(XHR.responseText); } } }; XHR.send(); setTimeout(function(){getMessage(url,... 阅读全文
posted @ 2014-03-11 16:07 白菜帮子 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 1.少用全局变量原因:因为作用域链是一个堆栈的结构,所以遵循先进先出的原则,而javascript引擎在解析代码的时候,将全局对象放在栈底,然后向上依次出现的是不同作用域的活动对象(这些活动对象除了闭包没有相互依赖的关系),所以在查找变量的时候会从该活动对象开始,然后是闭包它的活动对象,最后是全局对象,如果全局变量过多就会影响获得变量时的速度,所以不要过多使用全局变量。2.尽量使用局部变量封装全局变量原因:正如前面所说,活动对象在栈的顶端,所以最先查找它的内容,当我们将document封装成局部变量后就会减少深层次查找的次数,使性能提高。3.操作数组长度、对象属性时,尽量使用局部变量封装。原因 阅读全文
posted @ 2014-03-10 20:46 白菜帮子 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 1.快速排序:思路:找到数组中间的元素,把它单拎出来,然后从0开始判断数组中的元素比该基准元素大还是小,小的存左边,大的存右边,然后如此反复递归,得出结果。function quickSort(arr) { if (arr.length arr[arr.length-1]) { return false; }//如果这个数字没在其中直接返回false else if (val == arr[0]||val==arr[arr.length-1]) { return true; }//如果找到了就返... 阅读全文
posted @ 2014-03-01 20:18 白菜帮子 阅读(3845) 评论(0) 推荐(0) 编辑
摘要: jsonp和json有什么区别?json是一种文件格式,而jsonp是一种技术方法。jsonp会被人认为是一种新的跨域技术,其实本质上和利用带有src属性的标签进行js跨域本质没什么区别。区别就是:在其他域,调用了本域定义的js方法,调用的时候把自己的json数据做为参数传递给js方法。下面是一个简单的小例子:function result(data) { alert(data['name']); }//这是在客户端定义的方法 这是在body中使用script标签加载其他域的js文件。而其他域中的js文件是这样的result({'name':'jack& 阅读全文
posted @ 2014-02-25 13:34 白菜帮子 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 1.GET方式 NameValueCollection coding; coding = HttpUtility.ParseQueryString(Request.Url.Query, Encoding.GetEncoding("UTF-8")); Response.Write("coding[name]"); Response.End(); 说明:coding就是获取get传过来的键值对的变量。使用的时候就是 coding['key']得到value。当然也是key=value&key=value这种形式。2.POST方式 va 阅读全文
posted @ 2014-02-23 16:36 白菜帮子 阅读(2419) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 13 下一页