首页 > 代码库 > 第六章

第六章

1. 判断是否支持一个js方法,用于兼容老的浏览器

//不包含括号if(!document.getElementById){    return false;}

2. 结构化程序合计,一个函数只有一个入口和一个出口。但是为了美观,如果出口集中出现在函数的开头部分,就是可以支持的。

function foo(){  if(!document.getElementByTagName) return false;//return语句都放在前面  if(!document.getElementByNames) return false;
 //函数具体执行部分
var obj = document.getElementByTagName("p"); }

3. 共享onload事件,如何加载多个函数(整理转自http://www.cnblogs.com/jhxk/articles/1660528.html)

function addLoadEvent(func) {  var oldonload = window.onload;//得到上一个onload事件的函数  if (typeof window.onload != ‘function‘) {//判断类型是否为‘function‘,注意typeof返回的是字符串    window.onload = func;  } else {      window.onload = function() {      oldonload();//调用之前覆盖的onload事件的函数---->由于我对js了解不多,这里我暂时理解为通过覆盖onload事件的函数来实现加载多个函数      func();//调用当前事件函数    }  }}
function t(){  alert("t")}function b(){  alert("b")}function c(){  alert("c")}addLoadEvent(t);addLoadEvent(b);addLoadEvent(c);//等价于 window.onload =function() { t(); b(); c() ;}

4. nodeName属性返回的字符串都是大写字母

//NodeName,nodeValue, nodeType的使用if(placeholder.nodeName !=="IMG") return false;//nodeName返回大写字母if(obj.firstChild.nodeType == 3) {  obj.firstChild.nodeValue = "test";  }

5. 键盘事件onkeyPress。tab键也会引起onkeypress事件

obj.onkeypress = funtion(){  ...  }//另外一种obj.onkeypress = obj.onclick;//另外,tab键也会引起onkeypress事件

6. DOM Core和HTML-DOM.区别(个人感觉DOM-Core写起来更长):

document.getElementsByTagName("form");//HTML-DOM:document.forms;//DOM Core:
var src = http://www.mamicode.com/obj.getAttribute("href");//DOM Corevar src = http://www.mamicode.com/obj.href;//html core

 

第六章