coding tip

function与感叹号

最近有空可以让我静下心来看看各种代码,function与感叹号的频繁出现,让我回想起2个月前我回杭州最后参加团队会议的时候,@西子剑影抛出的一样的问题:如果在function之前加上感叹号 (!) 会怎么样?比如下面的代码: !function(){alert('iifksp')}() // true 在控制台运行后得到的值时true,为什么是true这很容易理解,因为这个匿名函数没有返回值,默认返回的就是undefined,求反的结果很自然的就是true。所以问题并不在于结果值,而是在于,为什么求反操作能够让一个匿名函数的自调变的合法? 平时我们可能对添加括号来调用匿名函数的方式更为习惯: (function(){alert('iifksp')})() // true 或者: (function(){alert('iifksp')}()) // true 虽然上述两者括号的位置不同,…

页面Coding自动刷新利器——Live.js

前段时间在论坛看到有人写了一个检测文件变化并自动刷新页面的程序,如是,就可以不用一边编写页面代码一边还要alt-tab切换浏览器来查看页面效果。功能很简单,但是效果不俗,因为高速的页面编写不再因为切换和刷新而降低编写效率,如果拥有双屏显示,一边放编辑器,一边放浏览器,效率提升还是相当可观。 然而前端也早有类似的解决方案,不用写本地程序来监控文件的改动,也不用控制浏览器的刷新,仅仅只需要一个JS就能做到这一切了,只是很多人并不知道其存在而已,它就是——Live.js。 livejs是一个不依赖任何库的脚本,在编写的页面里将其引入,就会监控文件的变化然后自动刷新页面。想象一下在编辑器里ctrl+s后副屏里直接出现页面更改后的效果,对于熟练的页面coder而言,编写页面将会是一个更加行云流水的过程。 当前其版本是version 4,已经相当稳定,可以 直接下载或查看源代码…