for,this以及针对需求引发的思考

今天主要学习for应用this关键字

1、通过ID来获取值是静态方法,相对的,通过这段代码document.getElementsByTagName('li')是动态方法,这样获取到的是元素的集合,类似数组;所以再用到TagNames的时候,必须要加上[],也就是中括号

如:var oUl = document.getElementsByTagName('ul')[0];  //获取文档中第一个ul

2、获取body中的元素:document.body.innerHTML

3、for循环的写法:for(var i=0; i<3; i++){ 功能 }

4、关于改善性能的问题:


往body中添加按钮时,如果向body中一个一个添加,需要多次读取body,会影响其性能(注释的代码功能)。

改善办法:创建一个空字符串,先把添加按钮的操作放入字符串中,最后再一起放入body中。

5、cssText属性:


这个改变的是元素的行间样式,并且会覆盖style中的样式显示,如果改成‘空’,则会恢复style中的样式。

6、针对一种需求下的思考:点击一个按钮后,发生某种功能,再次点击按钮不再生效。

          (1)让按钮消失或者按钮变成灰色————简单粗暴,但是用户体验不好。

          (2)每次点击都清除上次的结果,然后再次重新生成结果————增加了浏览器负担,对性能不好。

          (3)设置一个开关(var onOff = true),当点击执行完后,使其变为false,再点击不会再执行(if 判断条件的前提下)

上面第三个方案是相对来说比较好的方案,所以在实现需求时,我们不应该仅仅为了实现而实现,需要考虑一些实际的因素。

7、this 指的是调用当前方法的那个对象,因为对象一直在动态变化,所以用this。


fn1()里的this对象是window,所以需要把this用空的that存起来,间接使用。

猜你喜欢

转载自blog.csdn.net/weixin_42565663/article/details/80955556