Monthly Archives: December 2009

Google Calender中添加农历提醒 总共花了5个晚上。今晚终于写完了,这会儿困死了····

想到的都不会发生

在一次次面对现实的时候,这种感觉愈发强烈。 或许,是错觉,忘记了那些想到而且发生了的事情,而选择性的留下了痛苦的记忆。 或许,是天真,把事情总是想得很美好,没动力去争取,没勇气去接受。 TimeLog@2009.12.13

Desktop

动态重载JS文件

我有一个test.js文件,里面有一个test()函数。我在开发过程中要经常修改这个test函数,为了看一下程序的运行效果,我在测试运行的时候,要重新刷新一下网页,然后登录,选菜单,经过好几次点击之后触发test()函数,很麻烦。考虑到我修改的仅仅是一个JS文件,我就想能不能在触发test()函数的地方,先重载一下我修改过的JS文件,类似于在python中用reload命令重载一个模块,这样我就不用刷新整个网页了。google一番之后,找到了答案。代码如下: 先定义一个动态加载js文件的函数 reload_script,它会重载js文件,在完成载入之后触发callback函数 然后在触发test函数的地方,不再直接调用test()函数。而是先调用reload_script,然后把test()函数作为一个callback传递给reload_script function reload_script(jsfile,callback ){ var head = document.getElementsByTagName(‘head’)[0]; var script = document.createElement(‘script’); script.type=’text/javascript’; script.src =jsfile; script.onload = callback; head.appendChild(script); } function reload(){ reload_script("test.js",function(){ // test()是定义在test.js中的函数 // 每次重载test.js之后,都会执行新的test()函数 test(); }); } 以上方法在万恶的IE中不起作用,但是我也只用Firefox调试,所以无视IE了。 VIA

如何在JavaScript中定义类?

这两天比较闲,所以补习点JavaScript的基础知识。 下面是定义一个Person类的代码示例,定义了三个成员变量和三个对应的成员函数。 var Person = function(name,age,gender){ this.name=name; this.age=age; this.gender=gender; // 第一种方式 this.getName=getPersonName; // 第二种方式 this.getAge = function(){ return this.age; } } function getPersonName(){ return this.name; } // 第三种方式 Person.prototype.getGender = function(){ return this.gender; } // 用new生成新的Person对象 var p1 = new Person(‘a’,25,’male’); var p2 = new Person(‘b’,24,’female’); alert(p1.getPersonName===p2.getPersonName); // true alert(p1.getAge===p2.getAge); // false alert(p1.getGender===p2.getGender); // true [...]