摘要: 现在有一个需求,需要重写方法,比如方法名为a,但是在方法内部,需要用到原来的方法,怎么办?最直接的办法是:var b = a;window.a = function(args){ a.call(window, args); }};当然,这个不是很完美,因为定义了一个全局变量b... 阅读全文
posted @ 2014-12-05 14:32 迷途小哈 阅读(827) 评论(0) 推荐(0) 编辑
摘要: 1.一行代码实现值交换//a, ba = [b, b = a][0];2.三行代码实现分页逻辑//curr_index 当前页面//link_count 显示多少页//page_count 总页数start = Math.max(1, curr_index - parseInt(link_count... 阅读全文
posted @ 2014-08-28 18:11 迷途小哈 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 前端面试的时候老总居然问这个问题,有点震惊……#include #include void main() { int i = 1; printf("%d,%d,%d,%d,%d,%d\n", i,i++,++i,i--,i++,--i); system("pause");}作为一个... 阅读全文
posted @ 2014-07-14 20:51 迷途小哈 阅读(860) 评论(2) 推荐(0) 编辑
摘要: 原文链接:英文版链接 首先,我们将字符串S中插入符号“#”转化成另一个字符串T。 比如:S = "abaaba",T = “#a#b#a#a#b#a#”。 为了找到最长回文字串,我们需要围绕Ti进行扩展,Ti-d...Ti+d是一个回文,很明显d是围绕Ti形成的回文的长度。 将每个回文的长度... 阅读全文
posted @ 2014-06-19 11:08 迷途小哈 阅读(536) 评论(0) 推荐(0) 编辑
摘要: 首先是入口方法/*tmpl:模板文本 c:用户自定义配置 def:定义编译时执行的数据*/doT.template = function(tmpl, c, def) {}然后进入第一句代码c = c || doT.templateSettings;doT.templateSettings包含的代... 阅读全文
posted @ 2014-06-10 03:11 迷途小哈 阅读(1446) 评论(1) 推荐(0) 编辑
摘要: 看doT源码的时候,看到了这么一句代码:global = (function(){ return this || (0,eval)('this'); }());global.doT = doT;需要||后面的部分,是因为,this返回的是undefined但是(0, eval)('this')有点困... 阅读全文
posted @ 2014-06-01 22:04 迷途小哈 阅读(641) 评论(0) 推荐(0) 编辑
摘要: memoize优化递归function createRec(callback, cache) { cache = cache || []; var rec = function(n) { (n in cache) || (cache[n] = callback(rec, n)); ... 阅读全文
posted @ 2014-05-27 15:52 迷途小哈 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 原文:Object-to-Primitive Conversions in JavaScript对象转化为基础数据类型,其实最终都是用调用对象自带的valueOf和toString两个方法之一并获得其返回值,作为其基础数据类型。基础数据类型包括这么几种:null, undefined, number... 阅读全文
posted @ 2014-05-26 12:07 迷途小哈 阅读(1815) 评论(0) 推荐(0) 编辑
摘要: 在支持html5的浏览其中,可以使用标准解析器DOMParser对象进行解析html或者xml等字符串var data = '';var tmp = new DOMParser();xml = tmp.parseFromString(data, 'text/html');//解析xml时为text/xml这时xml就是需要的dom文档了,也就是说,可以把它当成一个document对象,调用其中的节点如xml.getElementsByTagName('div');在IE以外的浏览器中,如果解析失败,方法parseFromString不会跑出异常, 阅读全文
posted @ 2014-04-01 16:57 迷途小哈 阅读(528) 评论(0) 推荐(0) 编辑
摘要: 当overflow-x和overflow-y其中一个设置为visible时,如果另一个不是visible,那么它会被自动重置为auto看看效果先:第一次遇到这个问题时,我还以为是chrome的一个bug,结果测试了一下,所有浏览器都是这样的,看一下效果.div1 { width: 100px; height: 100px; background: #eee; position: relative; overflow-x: hidden; overflow-y: visible;}.div2 { width: 100px; height: 100p... 阅读全文
posted @ 2014-03-19 01:32 迷途小哈 阅读(8951) 评论(0) 推荐(0) 编辑