其实我是一名土生土长的.NET北方程序员,使用c#就像吃面一样习惯,很少写js,直到上班后。
场景1:新来员工那个谁,你去把这个js写下,很简单的。山雨欲来风满楼,然后就有一堆一堆的不知道是简单还是复杂的js奔来了,总体来说占工作量的30%。
场景2:这怎么又有一个js,那个谁,你前几天刚写了个js,这个和你那个有点像,你顺便也写了吧。
这就是我怎么学会了js,
糗事1:开始学写js,总是把代码写在aspx文件里面,因为在引用用jquery的时候会有智能提示,后来知道在js文件里面只要引用,刚才在博客园搜了下,好像是这个 http://q.cnblogs.com/q/21118/
糗事2:一旦在ASPX里面写js就一发不可收拾,有的人喜欢写在开头,有的人喜欢写在的末尾,最奇葩的时候,有的人竟然喜欢写在中间和html写在一起,更奇葩的是,又一次我改一个bug,竟然在2000多行的html里面留下一行js,后来当然是有人又改其他地方的bug,发现就我这个地方正常,其他方都不正常,我很害羞的告诉他,你少复制了一行代码。。。。。。。。。。。
糗事3:哎呀,从设计切图那里拿来的html代码里面的js都正常,怎么我引用的jquery就不正常呢?真的是太奇葩了,jquery 难道出BUG了,经过重重排查,发现原来人家把$重定义了。。。郁闷的是换了好几个做设计+切图的,都好这口,里面的明显特征是出现大量的 $(“id”)
糗事4:哎呀,我用的这个jquery插件怎么时而灵验,时而不灵验呢,经查,多数把这个放在ready 里面就好了,遗憾的时候,我经常见到工作5~6年的人我和一同出糗
$("img").lazyload();
糗事5:真见鬼了,咱们这都好好,全国多数地方也是好好的,就那几个破城市人不多,打的吐诉电话比人很多,2年前我也很困惑,这到底是为啥呢,是什么造成的千分之三的错误,不能轻易的重现,但在某些地方又反复的重现,直到看到博客园关于js、css异步载入和同步载入的深入研究和讨论,才恍然大悟,虽然我现在一般都是吧无关联性的放在页面的最上面,有关联性的放在最下面,问题出现的概率更小了 ,更小了,虽然我知道有个叫RequireJS的组建是这方面的专家,但是要推广他,在不会用这个的人群中使用,你们知道推广做单元测试是多辛苦吗?况且概率已经很小了。。。。。
糗事6:类型1,我靠这个地方不让用form表单提交,要ajax
类型2,我查这个地方要吧form表提交改为ajax
类型3,我去这个地方form表提交改为ajax提交有些汉字乱码了
类型,我去这个地方改用jquery.form 插件表单提交后,BUG一堆一堆的,告诉产品,技术不支持这个需求
开始我也很郁闷,直到后来有次闲的蛋疼,烦jquery api玩,发现jq有一个遍历form表单并返回数组,我自己在遍历为json对象,想怎么编码就怎么编码,在post到服务器端,服务器端和客户端的修改都是分分钟的事情
.serializeArray()
糗事7:js我最讨厌单引号和双引号,最讨厌在拼接字符串的的时候出现单引号和双引号,最最讨厌拼接部分html代码里面还包含style 等等属性,
经常改一下代码一看横向滚动条,竟然拉了3分钟也拉不完,这到底是多磨牛逼的逻辑,一看在拼接html代码,更为神奇的是,有的竟然用push这种高端玩家的方法拼接html代码,难道就不知道有一个叫js模板引擎(jquery.tmpl.js)的东西么?。。。。。。。其实2年前我也这么干的
http://www.cnblogs.com/whitewolf/archive/2011/10/09/2204185.html
糗事8:一群到处扯iframe的在讨论手机webapp和phonegap app。。。。
糗事9:来,你写个分分钟的js