1. 程式人生 > >2018年10月24日 JS中 【“邏輯運算”,“面試題:作用域問題”,“dom對象”】這些問題的意見見解

2018年10月24日 JS中 【“邏輯運算”,“面試題:作用域問題”,“dom對象”】這些問題的意見見解

dcb stc ima 事件 代碼 客戶端 document model 變量

1、邏輯運算 || && !

||:遇到第一個為true的值就中止並返回

&&:遇到第一個為false的值就中止並返回,如果沒有false值,就返回最後一個不是false值的true值

||和&&:&&的優先級大於||;

console.log(1&&3||0&&4); 3

console.log(4&&3-2); 1

2、作用域的問題

(1)Js代碼如何執行

(2)js環境

(3)棧 堆

Js代碼在客戶端執行前,瀏覽器會給這個js一個全局環境,這個環境分兩個部分,

一個是內存模塊,一個是執行模塊,內存模塊找到當前環境下的所有帶var和function的關鍵字,var進行變量聲明,function 進行聲明和定義。

執行模塊逐行向下執行(會出現語句和代碼塊),如果是函數執行。

函數執行:會開辟一個類似於window的私有作用域,在這個私有作用域裏又分兩個模塊,內存模塊和執行模塊。內存模塊找出當前環境下的所有帶var和function的關鍵字,還需要註意函數的形參,因為他也是一個私有變量,帶var的進行變量聲明為私有變量

Function 聲明和定義都完成了,然後是執行模塊逐行執行。

3、阿裏面試題分析

var a=100;

function text(){

  var b=2*a;

  var a=200;

  var c=a/2;

  alert(b); NaN

  alert(c); 100

}

text()

技術分享圖片

4、dom對象

全稱:document object model

(1)dom主要研究html中的節點(標簽)對節點進行操作,改變標簽,改變標簽屬性,改變css屬性,改變css樣式

添加事件等,dom的研究對象是document

(2)操作流程

a:選擇你要操作的節點

document.getElementById("idname")通過id獲取元素

document.getElementsByTagName("標簽名")標簽獲取

獲取整個網頁中所有的div構成的一個數組集合

document.getElementsByClassName("name")通過class獲取整個網頁中

class叫做name的數組集合

b:輸出

-document.write 在整個文檔輸出

-指定的元素中輸出 : element.innerHTML= innerHTML指元素中的內容

指定的元素中輸出 :element.innerText=

二者的區別:前者可以嵌套標簽

後者只能輸出文本

document.getElementById("a").innerHTML="<b>jdcb sjchjbajsjab</b>"

好文要頂 已關註 收藏該文 技術分享圖片 技術分享圖片

2018年10月24日 JS中 【“邏輯運算”,“面試題:作用域問題”,“dom對象”】這些問題的意見見解