一:两种获取元素方式的区别。1.var aLi = oUl.getElementsByTagName('li');TagName前面可以加其他东西,id就只能是document,2,Id是静态的,tagname是动态的,前者的获取无法获取后来js又添加的元素,3: tagname获取到的是很多元素。是一个集合,但不是数组,不过可以利用数组相似的特征属性,而且访问的时候要用xx【0】

4第三种特别的方法当获取的元素师页面唯一的时候 document.body.innerHtml="<input  type="button">或者直接字符串文字也可以的。document.title="这是标题内容"这两个有点区别,要注意。

二:什么时候用for循环,重复执行某些代码,每次执行,有一个数字在变化,以此来简化操作。

三:新手开始不知道js哪里错误的时候,可以用alet()进行逐行测试,自己取名理解为断点测试,

四:innerHtml的添加内容就是+=替换是=

body.innerHtml=插入的文字内容这个等号是替换的,赋值,也就是全部改变了。要想全部都要,需要这样,innerHtml body.innerHtml+=插入的文字内容(innerHtml 写法错误)

五:性能问题,for循环页面加载2000个按钮,将会产生5到10秒的页面延迟加载。

var arr = [ '今天', '明天', '后天' ]; 
     var len = arr.length; 
    for( var i=0; i<len; i++ )

上面的代码做了优化,提前吧长度计算出来并且保存着,如果直接是i<arr.length,这样每次循环都要计算一次,性能优化很不好的

for( var i=0; i<6000; i++ ){ 
      document.body.innerHTML += '<input type="button" value="按钮" />';

for本身并没有问题,但是上面的代码 document.body.innerHTML += '<input type="button" value="按钮" />';太坑爹 会导致,每次都要进入body,一个一个进行查找,添加,特别费力,也要做优化的,

var str = ''; 
      for( var i=0; i<6000; i++ ){ 
      // document.body.innerHTML += '<input type="button" value="按钮" />'; 
      str += '<input type="button" value="按钮" />'; 
      } 
      document.body.innerHTML = str;

这样的话,只是单纯的计算字符串,并没有和页面body发生关系,也就变得很快了、

六:很重要的一个。innerHTML这个比较特殊,后面都是大写,必须注意。不然就会发生错误

七:oBtn.disabled=true;就让按钮不能按了。并不是每次都是style,本来写在css中是、、、