原生js

1.改内容,单标签用.value,双标签用.innerHTML=HTML

2.定时器setInterval(fun,speed)和setTimeout(fun,speed)的区别:

 前者和方法内的时间不叠加,可一直循环,后者时间叠加,但是只执行一次,想循环的话,可以用递归。(arguments.callee能返回的当前执行的方法,可用于递归)

3.appendChild(newlistitem)在后面添加子元素,insertbefore(new,old)在old后面添加,remove(**.children(i))删除子元素

4.js数组,push在后面添加,unshift在前面添加,shift在前面删除,pop在后面删除。

5.js用.style只能获取dom行内样式(就是写在div中的style),要想获取外部引入的样式:

    //获取非行间样式(style标签里的样式或者link css文件里的样式),obj是元素,attr是样式名
    function getStyle(obj,attr){
       //针对IE
       if(obj.currentStyle){
         return obj.currentStyle[attr];               //由于函数传过来的attr是字符串,所以得用[]来取值
       }else{
         //针对非IE
         return window.getComputedStyle(obj,false)[attr];
       }
    }

6.创建对象有三种方式:

 a.Object.create(proto [, propertiesObject ]) 是E5中提出的一种新的对象创建方式,第一个参数是要继承的原型,如果不是一个子函数,可以传一个null,第二个参数是对象的属性描述符,这个参数是可选的。

 b.var obj=new Object();

 c.var obj={};(推荐,不用new对象,不耗内存)

7.居中问题:

  块级元素文本居中,或者他的行内子元素居中text-align。

  块级元素自身居中margin:auto。

  块级元素垂直居中将line-height设置成和height一样

 行内元素垂直居中,vertical-align:middle

原文地址:https://www.cnblogs.com/dongtianqi/p/6230490.html