1. 不要在闭合的花括号之前多加一个逗号
- var sofish = {
- name:'小鱼',
- pos:'web developer',
- age:'24' // 你懂的,ie会有问题,小心加个逗号
- }
2. 如果判断只有3个元素,可以使用这样的定法:
- // 习惯这样写
- var sofish;
- if(age > 23){
- alert('yes')
- } else {
- alert('no')
- }
现在我们可以这样写:
- var sofish = age > 23 ? alert("yes") : alert("no");
3. 注册函数给event时不要添加“()”
- function doSomething(){
- var name = sofish, age = 24;
- function getName(){...};
- function getAge(){...};
- return{
- name:getName, // Note
- age:getAge // Note
- }
- }
- element.onclick = doSomething; // but not doSomething()
4.注册onclick时注意重载
onclick 事件只能注册一个function,像下面这样的代码,第一个将会被第二个重载:
- // 不要这样写
- element.onclick = startDragDrop;
- element.onclick = spyOnUser;
变通地,可以写成这样:
- element.onclick = function () {startDragDrop(); spyOnUser()}
但是,这样的话,两个函数又可能已经有一个注册,这又会报错,因为,我们可以先来个判定:
- var old = (element.onclick) ? element.onclick : function () {};
- element.onclick = function () {
- old();
- spyOnUser()
- };
好了,未注册的仍然会注册到,而已经注册则直接执行old();不过,这样,如果需要用到this的话,指向就有点混乱了,Ethan同学在留言中的建议是:
- var old = (element.onclick) ? element.onclick : function () {};
- element.onclick = function () {
- old.call(this);
- spyOnUser.call(this)
- };
Notice:会在慢慢学的过程中,慢慢记下来。-,-… 学习学习学习…