自己收集的生僻知识-js

1.对象操作可以使用数组操作来完成 window.onload  可写成 window['onload']

2.==与===的区别:
    两个参数属于同一类型时,==和===运算符的行为是没有区别的。
    == 在两边的对象类型不一致的时候,会按照一定规则自动把他们转换成同一类型
    ‘1’==1 →true  '1'===1 → false   '1'==true → true  '1'===true → false 

3.tagName与nodeName的区别:
    agName和nodeName的语义是一样的,都是返回所包含标签的名称
    但是tagName只能在元素标签上使用,而nodeName则可以在所有的节点上使用
    总结:tagName只能用在元素节点上,而nodeName可以用在任何节点上,可以说nodeName涵盖了tagName,
    并且具有更多的功能,因此建议总是使用nodeName

4.关于获取子节点的问题
    如果想获取子节点的子节点,一般会考虑用firstchild.firstchild的方法,但是对于有空白节点时就不可以了
    <div id='dd'>
        <div>
        <p>p段落<p>    
        <div>
    <div>
因此我们应该使用的方法是document.getElementById('dd').children[0].children[0]
chilren返回的是一个数组,已经把空白节点给过滤了

5.关于局部作用域var的问题
在局部作用域中,变量使用var则为局部,未使用则为全局

6.判断jQuery对象和原生DOM对象
//判断jQuery对象      object instanceof $  or object instanceof jQuery
//判原生DOM对象        object instanceof HTMLElement

7.
a、将jQuery转换为dom对象的方法 [index] 或者.get(index):
   1、$(“#form”)[index] ,该方法获取form元素的dom对象
   2、$(“#form”).get(index)
b、将js的dom对象转换为jQuery对象,对于已经是一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了。$(DOM对象) :
     Var a=document.getElementById(“form”);
     $a=$(a);
   通过对象转换后$a就成为了封装的jQuery对象,可以调用jQuery封装好的方法

8.关于document.writeln
在使用document.writeln之后,不能去获取DOM内容(目前发现,可能还有其他),需要百度获得更全的内容

猜你喜欢

转载自blog.csdn.net/magic_xiang/article/details/82768964