随笔分类 -  JavaScript

摘要:今天落叶同学发我一篇文章,我看到一个"新"名词 "函数字面量" (也可叫直接量),当时我就郁闷了,这是什么东西? 我怎么没听说过。。回头翻了下权威指南,在第 4.3 章节中可以看到:从某种意义上讲,函数定义表达式可称之为 "函数直接量"。看样子有必要重新仔细看看权威指南了,我已经发现好多细节问题都被... 阅读全文
posted @ 2014-06-10 21:05 楼教主 阅读(2460) 评论(6) 推荐(0) 编辑
摘要:关于 trim 其实没啥好说的,无非就是去除首位空格,对于现代浏览器来说只是简单的正则 /^\s+|\s+$/ 就可以搞定了。而且支持中文空格 等等。什么 \s 支持 中文空格?是的。打开 RegExp#character-classes 往下拉一点,找到 \s 这个解释。原文:Matches a... 阅读全文
posted @ 2014-06-09 22:13 楼教主 阅读(4810) 评论(3) 推荐(1) 编辑
摘要:其实我很少用这个,所以之前一直没注意这个问题,自从落叶那厮写了个变态的测试我才去看了下这东西。先来看个东西吧。var re = /\d/;console.log( re.test("1") );console.log( re.test("1") );console.log( re.test("1")... 阅读全文
posted @ 2014-06-06 22:31 楼教主 阅读(9132) 评论(2) 推荐(3) 编辑
摘要:博客园的语法高亮简直蛋疼,于是乎就打算找一个靠谱的插件来改造下。各种百度谷歌,大致得到几个推荐:SyntaxHighlighter,Snippet,Google Code Pretiffy,Highlight,SHJS。其实 SyntaxHighlighter非常强大,但是我一直很讨厌他,没有理由的... 阅读全文
posted @ 2014-06-05 22:03 楼教主 阅读(2517) 评论(5) 推荐(2) 编辑
摘要:前面我们提到到了js的数字格式《浅谈 js 数字格式类型》,之前的《js 正则练习之语法高亮》里也提到了优化数字匹配的正则。不过最近落叶给了我一个正则,让我豁然开朗,比我写的犀利多了,所以今天拿出来简单说一下(只说十进制部分的匹配)。先看下我之前写的正则:/\d+(?:\.\d+)?(?:[eE][... 阅读全文
posted @ 2014-06-04 20:50 楼教主 阅读(2613) 评论(8) 推荐(5) 编辑
摘要:字符串在js里是非常常用的,但是你真的了解它么?翻阅《MDN String》就可以了解它的常见用法了,开门见山的就让你了解了字符串是怎么回事。'string text'"string text""中文 español English हिन्दी العربية português বাংলা ру... 阅读全文
posted @ 2014-06-03 21:53 楼教主 阅读(12894) 评论(0) 推荐(0) 编辑
摘要:语句块是什么?其实就是用 {} 包裹的一些js代码而已,当然语句块不能独立作用域。可以详细参见这里《MDN block》也许很多人第一印象 {} 不是对象字面量么?怎么成了语句块了?如果在赋值语句或者表达式里用的时候,确实是对象字面量,如:var a = {};({toString:function... 阅读全文
posted @ 2014-05-28 23:49 楼教主 阅读(7706) 评论(3) 推荐(2) 编辑
摘要:[1,2,3].length可以得到 3,"123".length 也可以得到 3,这个略懂js的都知道。但是 eval.length,RegExp.length,"".toString.length,1..toString.length会得到什么呢?分别得到 1,2,0,1,这些数字代表什么呢?这... 阅读全文
posted @ 2014-05-26 20:59 楼教主 阅读(4488) 评论(1) 推荐(1) 编辑
摘要:写js一年多了,一直以为自己很牛逼,开始写各种博文分享,昨天写了一篇《浅谈 IE下innerHTML导致的问题》在看了下面的评论,我才发现自己是多么无知。于是我回头翻阅了下 MDN,Node.appendChild 里面一开始就明确说了,“如果该节点已经存在,则从当前父节点中删除,然后添加到新的父节... 阅读全文
posted @ 2014-05-23 21:14 楼教主 阅读(2328) 评论(1) 推荐(0) 编辑
摘要:先来看个demo吧: 蚂蚁部落 蚂蚁部落一 蚂蚁部落二 蚂蚁部落三 蚂蚁部落四 蚂蚁部落五 可以在IE下测试效果,推荐IE10,IE11浏览本页。测试区-蚂蚁部落一蚂蚁部落二蚂蚁... 阅读全文
posted @ 2014-05-22 23:34 楼教主 阅读(4623) 评论(10) 推荐(1) 编辑
摘要:很多人也许只知道 123,123.456,0xff 之类的数字格式。其实 js 格式还有很多数字格式类型,比如 1., .1 这样的,也有 .1e2 这样的。可能有人说这是什么个格式?其实还不止呢。1 //11.2 //1.21.2e3 //12001.2e+3 //12001.2e-... 阅读全文
posted @ 2014-05-21 23:51 楼教主 阅读(3496) 评论(3) 推荐(0) 编辑
摘要:这是一个很贱的技能,我在谷歌控制台源码里看到的。相信大家都知道,在控制台里只输入函数名,不输入 () 然后按回车,就可以输出源码。都不会陌生吧,这也有助于我们调试,是个很棒的技巧。不过系统内置的就会输出function alert() { [native code] }比如这个。不过当我们输入 di... 阅读全文
posted @ 2014-05-19 23:07 楼教主 阅读(3046) 评论(4) 推荐(12) 编辑
摘要:发帖没多久,算法就更新了,就算我重新分析,人家依然会更新,所以还是自己学着分析吧。对于现在 POST 技术满天飞的时代,防机器人确实是很头疼的一件事情,类似流量精灵这样的东西,他可以做到 100% 的真实信息,大批量的访问。当然今天不谈这些,只是分析下 天涯论坛 回复时的验证策略。昨天谈到 pack... 阅读全文
posted @ 2014-05-15 20:47 楼教主 阅读(2240) 评论(9) 推荐(2) 编辑
摘要:其实有点标题党了,不过大概就是这个意思。进入正题,eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){wh... 阅读全文
posted @ 2014-05-14 16:09 楼教主 阅读(18184) 评论(19) 推荐(3) 编辑
摘要:Javascript Image Slider 是个不错的轮播插件,兼容 IE 7.0+, Firefox 1.5+, Chrome 1.0+, Safari 3+, Opera 9.0+, Netscape 7.0+。官网 http://www.menucool.com/javascript-im... 阅读全文
posted @ 2014-05-13 22:31 楼教主 阅读(621) 评论(1) 推荐(0) 编辑
摘要:学了几天正则,差不多该总结整理写成果了,之前就想写语法高亮匹配来着,不过水平不够,看着例子都不理解。今天就分析下 次碳酸钴 和 Barret Lee 语法高亮实现。先说Barret Lee的这篇 《玩转正则之highlight高亮》之前看的时候只觉的神奇,特别是下面那个一步一步分开匹配的例子,更是霸... 阅读全文
posted @ 2014-05-12 23:48 楼教主 阅读(2773) 评论(2) 推荐(5) 编辑
摘要:昨天在《js 正则学习小记之匹配字符串字面量》谈到 /"(?:\\.|[^"])*"/ 是个不错的表达式,因为可以满足我们的要求,所以这个表达式可用,但不一定是最好的。从性能上来说,他非常糟糕,为什么这么说呢,因为 传统型NFA引擎 遇到分支是从左往右匹配的,所以它会用 \\. 去匹配每一个字符,发... 阅读全文
posted @ 2014-05-09 22:06 楼教主 阅读(1278) 评论(5) 推荐(1) 编辑
摘要:今天看了第5章几个例子,有点收获,记录下来当作回顾也当作分享。关于匹配字符串问题,有很多种类型,今天讨论 js 代码里的字符串匹配。(因为我想学完之后写个语法高亮练手,所以用js代码当作例子)var str1 = "我是字符串1哦,快把我取走", str2 = "我是字符串2哦,快把我取走";比如这... 阅读全文
posted @ 2014-05-08 23:51 楼教主 阅读(2124) 评论(1) 推荐(1) 编辑
摘要:前些日子谢亮兄弟丢了一个链接在群里,我当时看了下,觉得这种装逼题目没什么意思,因为每种语言都有不同的实现方法,你怎么能说你的方法一定比其他语言的好,所以要好的思路 + 好的语言特性运用才能让代码升华。题目如下:《【拉勾专场】抛弃简历!让代码说话!》FizzBuzzWhizz你是一名体育老师,在某次课... 阅读全文
posted @ 2014-05-07 18:23 楼教主 阅读(10952) 评论(17) 推荐(7) 编辑
摘要:昨天我在判断正则引擎用到的方法是用 /nfa|nfa not/ 去匹配 "nfa not",得到的结果是 'nfa'。其实我们的本意是想得到整个字符串 "nfa not" 的,可却只得到了 'nfa'。再来看个例子,/an (nfa)?(nfa test)?/ 去匹配 "an nfa test",如... 阅读全文
posted @ 2014-05-06 22:42 楼教主 阅读(516) 评论(2) 推荐(0) 编辑