dom对象

  1.逻辑运算  ||  &&  !

  1||2                     (结果为1)

  5&&4                  (结果为4)

  !0

口诀:

  || 遇到第一个数字是true,就结束,并返回

  &&  遇到第一个为false就终止,返回false(如果没有false,就返回最后那个数)

  ||   和 &&  在一起

  &&的优先级高于||

  2.作用域的问题?

  1)js代码如何执行?

  2)js的环境?

  3)栈内存、堆内存?

  解析:js代码在客户端执行前,浏览器会给这个js一个全局环境,这个环境分两个部分,一个是内存模块,一个是执行模块,内存模块找到当前环境下所有带var function的关键字,

      var 进行变量声明   function进行声明和定义

    执行模块逐行向下执行,会出现语句和代码块,如果是函数执行会开辟一个类似于window的私有作用域,在这个私有作用域分两个模块,内存模块和执行模块,内存模块找出

    当前环境下所有带var和function的关键字,需要注意函数形参,因为他也是一个私有变量,带var进行变量声明为私有变量

    function声明和定义都完成了,然后执行模块逐行执行

  Dom对象 。      dom的全称 document object model      (让js于HTML进行关联)

  dom主要研究html中的节点(标签)对节点进行操作,改变标签属性、样式、添加事件等

  操作流程:

  选择你要操作的节点          (dom研究的对象是document)

  通过id获取元素:    document.getElementById()                     ()里面填的是id名            document是对象           getElementById()是方法     

  通过标签获取:       document.getElementsByTagName()                    ()里面填的是标签名            获取整个网页中所有div构成的数组集合

  通过class获取:      document.getElementsByClassName()                   ()里面填的是class名                获取整个网页中class叫name的数组集合

  document.write()     输出:  向文档外输出(在整个文档输出)

  在指定元素中输出      innerHTML=""         还有一种写法           innerText=""                ""指的是元素中的内容

  二者的区别?

  innerHTML   可以嵌套标签

  innerText        不可以嵌套标签

  这些东西很抽象,所以附一串代码方便理解

  

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
    <div id="a" class="aa">
      hello world
    </div>
    <div id="b" class="bb">
      asasasa
    </div>
  </body>
</html>
<script>
  var a=document.getElementById("a").innerHTML="<b>可以嵌套标签</b>";
  console.log(a)
  var d=document.getElementById("b").innerText="<b>不可以嵌套标签</b>";
  console.log(d)
  var b=document.getElementsByTagName("div");
  console.log(b)
  var c=document.getElementsByClassName("bb");
  console.log(c)
</script>

原文地址:https://www.cnblogs.com/shangjun6/p/9835698.html