在js中的分号那个++后面为什么没有分号的的呀?(钻牛角尖的问题哈)

安全检查中...
请打开浏览器的javascript,然后刷新浏览器
< 浏览器安全检查中...
还剩 5 秒&前端在线资源
本文地址:
一、我是一只小白
我是一只小白,
心中有所怀揣,
虽然现在步履蹒跚,
但是丝毫不影响我对JS的满心期待。
我是一只小白,
复杂难题自然无奈,
简单疑问也会塞满我的脑袋,
但我依旧努力追寻答案。
我是一只小白,
心知止步就会淘汰,
故或无敌勤奋或无敌慵懒,
我会迎来我的精彩!
哈哈,突然诗兴大发,这打油诗的文笔跟这画风一样犀利!
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;我是低调的分隔线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;
下半年浮躁多了,得好好静心学习,告别小白。果断买了几本书:
其中,最先看的是《javascript模式》——不少人认为很shi的一本书。……评价观后感等500字省略……当我看到第二章要结束的时候,又一次看到了“JS中避免使用void”的观点,于是,勾起了身为小白的我困扰已久的一个问题:“既然JS中void不推荐,那为何新浪微博,淘宝之流的首页JS操作的href都是javascript:void(0);呢?”
截图为证!
为什么?为什么?都系睇?都系睇?
二、小白的疑惑
百撕不得骑姐啊百撕不得骑姐!
每当看到void,我都想起了N多年前,刚接触程序C语言那会的梦魇,大学唯一挂过科的就是C语言,每次都让我想起那个干巴巴的女讲师。像我这种纯良的好学生,大学之前网吧都没有去过的好同学,也不先具述程序何物有何用,开头就噼里啪啦变量啊,语句啊,XXX的,每天对着黑色的背景的奇怪东西敲a, b, c,那种感觉就像是小时候被大孩子摁在河底呛水喝,云里雾里,水里土里。我想起了小时候看过的一个故事,一个在农村上学的小伙子有幸作为交换生去英国交流学习,住在普通人家里(自然很热情),可是没几天,这位小伙子就被赶走了——原因是:丫的尿尿都不掀马桶盖,家里可是有lady的,太不尊重了!而实际上,这位小伙子第一次见到马桶就是在这户人家,他根本不知道马桶盖是干嘛用的,尿尿的时候要掀起来!
是习惯还是规范,我疑惑了!所谓javascript:void(0)之流的风气我估计就是丫的些C, C++所谓程序背景人带来的,可以追溯到10年之前……
我正好打开着QQ邮箱,于是看了下其href值,为javascript:;:
由此可以证明,void(0)确实是多余的,没用的,那为何这么多网站都使用这个呢?每次都要多敲7个多余的字符,这是要闹哪样,莫非绩效是根据HTML的代码量来算的!
百撕不得骑姐啊百撕不得骑姐!
然后,我还有更进一步的疑问:JavaScript中语句最后的分号是可以缺省的,那为何要使用javascript:;而不是javascript:呢?
是习惯还是规范,我疑惑了!
具有代码洁癖的coder们,没事多写一个分号,圣洁的精神世界杯玷污了,怎么能忍受的了呢?这又不是多多语句,不写分号可能会出现意想不到的情况!
像我这种懒到手抽筋,多写一个字符都会难受到满地打滚的人,实在是想不过来啊想不过来!
或许只因我是个小白,巴神的世界我不懂。
三、我是一只小白
我是一只小白,
很多问题偶都不明白,
谁来告诉我答案,
是我太菜,
还是JS的高峰实在难攀,
谁来给我指南,
明明href可以很简单,
为何啰哩吧嗦像个老太太,
我是一个小白,
想不明白想不明白!
哈哈,突然诗兴大发,这打油诗的文笔跟这画风一样犀利!
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;我是低调的分隔线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;
我使用href="javascript:"很多年了,一直都是惴惴不安地使用,因为别人都是href="javascript:void(0);",是不是因为href="javascript:"有什么潜在的问题?比方说影响性能?或者让人不能识别马桶盖?
求指点,求吐槽!
原创文章,转载请注明来自[]
本文地址:
(本篇完)
相关文章 (0.948) (0.839) (0.839) (0.161) (0.161) (0.161) (0.161) (0.161) (0.161) (0.108) (RANDOM - 0.052)
标签: , ,
赞助商推荐():
想学到点真东西?
如果你有1~3年前端开发经验,不妨
想找个师兄入门前端?不妨
想快速入门前端?
热门总排行其他回答(2)
楼上已经给出很详细的解说了。
这里补充一点:在函数声明【 function (){} 】后面加【 () 】,意思是执行这个函数声明。有的叫法是&匿名自动执行函数&,更准确的表示应该为&立即执行函数&。
但立即执行函数,要作为表达式的一部分才行,不然js解释器会报语法错误。一般,成为表达式的最容易理解方式是:在左右两端加一个圆括号,像这样【 (function (){}) 】。所以,立即执行函数最常见的写法是【 (function (){})() 】,这是一个语句,在前面和后面都可以加【 ; 】。
其实立即执行函数还有N种写法,比如【 (function (){}) 】也行,在函数声明前加一元运算符也行:【 !function (){}() 】、【 ~function (){}() 】。甚至,对一元运算符进行组合也可以:【 !!!!function (){}() 】、【 ~~~function (){}()&】、【 !~!function (){}()&】。
推荐阅读 汤姆大叔 的《》
&&&您需要以后才能回答,未注册用户请先。

我要回帖

更多关于 js 分号 的文章

 

随机推荐