Javascript:声明一连串变量

本文属于《Javascript基础纪要》系列,虽有凑数之嫌,但还是提一下吧。

JS声明变量的办法我就不说了,我们经常需要连续声明好几个变量,当我是新手时,我是这么做的。

1
2
3
4
var a=1;
var b={};
var c=[];
var d=...

实际上我们可以这样:

1
var a=1,b=2,c=3,d=4;

也就是用,分隔多个变量。

这样不换行的情况,只适合变量值比较单一的情况,如果你的变量是函数或对象,则要换行了:

1
2
3
4
5
6
7
var a=function (){
    var b,c,d;
},
b = {
    b:1,
    a:2
};

这样可以一直写下去,且能保持良好的可读性。当然,最后记得要用;收尾

另外这里我要提一句,最近我用了好几个JS压缩工具,都很智能了,但还是不会智能到把多行里的多个var自动合并成一个var的地步,所以,如果你要压缩你的JS,最好是用这种连续声明方式。jQuery等都是用这种。

本文结束

jquery easyui tree的源代码?没有

这里说的源代码,是指未加密,且没做过让人看不懂的混淆的代码。

如果你在官网上下载了整套easyui,会得到个压缩包,里面有个src目录,这就是他开放了源代码的部分组件。里面没有tree

当然,也没有datagrid,treegrid等更复杂的组件。

不过,在plugins目录下,就有这几个。但打开后会发现,里面的代码的变量全是这样的,_1,_2,_3a,_4e….

而且easyui的整个JS,是 jquery.easyui.min.js,没有类似jquery的不带min的文件,也就是说他对上面这些个核心控件,是报着并不怎么愿意开放源码的心态的。 Continue reading

Javascript:万能的日期格式化函数

最近在工作项目中,用到了日期格式化,要求传到后台的日期格式必须是2012-02-02这样的。蛋疼的是Javascript都没有自己原生的日期格式化函数,只能自己写一个。

写的时候我就想写一个通用的,比如这次要的是2012-02-02,下次说不定就要2012/02/02或2012-2-2,总不能下次又写吧。

在发源代码之前,我要列举一下约定俗成的日期格式(也就是Windows系统日期与时间的格式),如下: Continue reading

Javascript基础纪要:判断是否是数字

本文属于《Javascript基础纪要》系列文章.

在JS中,在判断一个变量是否是数字时,最快的方法是:

1
typeof v === 'number'

如果是如此简单,那么本文就没有存在的必要了.这里的坑在于,通过new Number(1)这样创造的数字,用typeof判断时会得到object而不是number(虽然几乎没人会用这种蛋疼的方法来创建数字…). Continue reading

国美的搜索框总是用不了,难道国美一直没发现?

自从东哥泡了奶茶,京东有了很多变化:把39起包邮提高成了59才包邮;商品价格也逐渐成了在线商城中最高的。所以我就再也没去京东了,去其他一些在线商城逛了。

自从在国美在线买了一个冰箱——其实,我是到国美电器实体店里去看了,再在网上下的单——我就发现国美也许是迫切想发展电商的原因,他上面的优惠往往比京东实在,但是,他有个很大很大的BUG——搜索框没法用

表现为你点不进搜索框,然后就没法输入,就没法搜索了。出现的页面我没研究过,有时候首页都是这样。在你想搜索的时候,有50%会发现点不进搜索框!

我用的是chrome。这已经不是bug了,这恐怕会严重影响国美的生意吧。

奇怪的是国美一直没发现,一直没改进,呵呵

HTML5的postMessage使用记要

HTML5提出了一个新的用来跨域传值的方法,即postMessage(这个名字太通俗了所以你最好看看是不是自己写过一个同名的把它覆盖了)。幸运的是IE8就开始支持了。

我们假设有两个网站,1.com与2.com,我在1.com的页面上通过iframe或window.open或超链接打开了一个2.com的网页,此时我要在2.com上做操作的时候,给1.com传值,让1.com有所变化。这个过程就是个跨域的过程。

如果你对window.open熟,你就会知道通过window.open打开的网页(我们称之为子网页),可以通过window.opener对象,访问到把它打开的页面(父网页),这样一来,调用父页面的函数就是非常简单的事了。但是,在跨域的条件下,window.opener就成了一个空对象,“没有权限”,浏览器会这么告诉你。 Continue reading

Javascript拼接HTML字符串的方法列举及思路

拼接字符串的方法介绍

字符串拼接基本上在任何编程语言中都是非常普通而常用的功能,Javascript里也是如此。其中对HTML字符串的拼接算是比较难的,我就经常被大量的属性及引号的嵌套搞得苦不堪言。

常规但很不好用的方法

下面是一个最常用的拼HTML字符串的写法:

1
var li = '<li class="li '+dd.class+'" id="li+'+i+'"><span>'+dd.text'</span></li>';

这种方法是最好理解的(同时也可以说是执行效率最高的),但缺点也很明显:繁琐,非常容易出错,维护起来麻烦,而且代码几乎没有重用性,即使下次碰到长得差不多的还是得重写拼的语句。
Continue reading

猎豹免费wifi,不好用啊

按理说对于这样一款不收钱,而且方便小白用户的软件,我不应该鸡蛋里挑骨头的,不过他有个最大的问题让我不得不卸载了他。

当退出猎豹免费wifi后,以前所有你曾经连接过的无线网络全都要重新输入密码,重新连接--不知道为什么,密码全没了,即使你以前天天连。

如果碰巧你记不得你想用的这个wifi的密码了,那么你就悲剧了。

就算你记得,重输一遍也很麻烦啊!!

每天我到公司,连的是有线,然后用它开启wifi共享;回家后,我连的是无线,就把他关了---然后我就要重新输入家里wifi的密码重新连!!你妹!