js常見的三種輸出語句
1. console.log() 在瀏覽器的控制台輸出Alert() 彈出一個對話框document.write()在頁面輸出。
2.script標簽是否可以在html中任意放置。
不可以,跟內容的執行順序有關,如果想任意放置script標簽,需要在里面寫window.onload.
html中內容執行順序:
1.解析html結構瀏覽器的一個解析器 解析標簽從上到下。
2.引入樣式文件css文件和腳本文件js文件。
3.解析和執行腳本代碼 ----瀏覽器中的js引擎執行的。
4.加載圖片(視頻和音頻)資源。
5.加載css的樣式代碼。
6.執行window.onload操作 所有文檔加載完成之后再執行跟html中內容化加載順序有關。
window.onload的優勢:
1.將里面的代碼放在最后執行
2.形成私有作用域保護里面的變量不受外部影響
3.沒個js文件只能有一個window.onload 最后面的會覆蓋掉前面的。
web前端三個層 (三件套/三劍客)
1.html結構層
2.css表現層
3.js行為層
開發過程中要保持三者分離,盡量不要耦合在一起
<button onclick="alert(1111)">點我一下</button> 這叫結構和行為耦合,避免這種寫法。
<a href="javscript:;">大家好</a>阻止超鏈接刷新頁面。
1.變量的儲存方式
1.瀏覽器在執行js代碼的過程中(靠js引擎),計算機就會開閉內存空間給js。分成棧和堆。棧的存儲空間比較小,只存名字和地址。堆的空間比較大,存數據。以字符串的形式存。
阿里的一道面試題:
棧里面存變量名,賦值的過程中看后面的值 是基本數據類型還是復合數據類型 基本存值 復合數據類型存地址。在堆里面以字符串的形式存。
2.作用域的問題
瀏覽器執行js代碼的時候開辟了一個最大的作用域叫window或者是全局作用域,在執行代碼的過程中如果是函數執行,將會在window下開辟一個私有作用域/子作用域,每個作用域的分配是一樣的,都有一個存儲模塊和執行模塊。