2021-08-19 筆記

? ?// js組成:ECMAScript? DOM? BOM

? ? /*

? ? ? BOM----> Browser Object Model

? ? ? 瀏覽器對象模型,瀏覽器的操作內(nèi)容都是在對象的方法操作

? ? ? 瀏覽器頂級對象 window?

? ? */

? ? // console.log(window);

? ? // alert('彈彈彈');

? ? // window.alert('彈走魚尾紋');

? ? // 在全局中定義的變量其實就是在window身上作為屬性


? ? // 全局中 this 指向 window

? ? // console.log(this);

? ? // 全局中的 top 指向window

? ? // console.log(top);

? ? // 全局中的name屬性在window上有号阿,屬性值是字符串

? ? // console.log(name);

? ? // console.log(window.name);

? ? // console.log(typeof? window.name); // string


? ? // 瀏覽器的尺寸

? ? // innerWidth帮哈、innerHeight 獲取瀏覽可視窗口的寬高(包含了滾動條)

? ? // console.log(window.innerHeight);

? ? // console.log(window.innerWidth);?

? </script>


</body>

</html>


/*

? ? 彈出層

? ? ? 1居凶、 alert()? ? 提示彈框? ? 沒有返回值? ?

? ? ? 2博投、 confirm()? 詢問彈窗?

? ? ? ? 當我們點確定的時候返回true

? ? ? ? 當我們點取消的時候返回false

? ? ? 3里烦、 prompt()? 提示輸入彈窗

? ? ? ? 當點擊取消的時候返回null

? ? ? ? 當輸入并點擊確定的返回輸入的內(nèi)容(如果啥也沒寫返回空字符串)

? ? */

? ? // console.log(alert('123')); // undefined

? ? // console.log(confirm('can you marry me?'));

? ? // console.log(prompt('請輸入你的身份證'));


// location 對象中就存儲而來瀏覽器的地址信息

? ? // console.log(location);

? ? // 1. location.href

? ? // location對象中href屬性就是瀏覽器訪問的完整地址

? ? //? 會將地址中的中文轉碼為url中的編碼格式

? ? // console.log(location.href);

? ? // 也可以通過設置location.href屬性來實現(xiàn)瀏覽器的跳轉

? ? //? 會直接跳轉到指定的url地址

? ? // btn.onclick = function(){

? ? ? // location.;

? ? // }

? ? // 2. location.reload()? 重新加載頁面

? ? // 這個方法不要寫在全局中

? ? // location.reload()

? ? // btn2.onclick = function(){

? ? //? location.reload()

? ? // }

? ? /*

? ? ? http://localhost/2111/location.html#12345?name=zs&age=123

? ? ? 3. loaction中的其他屬性

? ? ? ? ? hash? 地址中#后面的東西 #12345?name=zs&age=123

? ? ? ? ? host 是訪問地址主機的地址? localhost

? ? ? ? ? search 是瀏覽器中?后面的內(nèi)容? ?name=zs&age=123? ?

? ? */



/*

? ? 在對象history上記錄了瀏覽器的歷史記錄

? ? // 前提是要有歷史記錄,

? ? //? history對象中的lenght屬性 如果為1表示沒有歷史記錄

? ? // 1. history.back()? 回到歷史記錄的上一個頁面

? ? // 2. history.forward() 去到歷史記錄中的下一個頁面

? ? // 3. history.go(n)? 去到歷史記錄中指定的頁面

? ? ? ? ? history.go(1) 相當于history.forward()

? ? ? ? ? history.go(-1) 相當于history.back()


? */


// 在對象navigator中記錄了瀏覽器的各種信息

? // appName 獲取到瀏覽器的名字 html5的兼容問題? 不一定有效

? // console.log(navigator.appName); // Netscape

? // appversion 瀏覽器的版本 不一定有效

? // console.log(navigator.appVersion);

? // 5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36

? // platform? 瀏覽器運行的環(huán)境版本 不一定有效

? // console.log(navigator.platform); // Win32

? //? userAgent? 獲取瀏覽器的版本信息

? // console.log(navigator.userAgent);

? // Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36



// 瀏覽器事件

? // 1. 瀏覽器的滾動事件 scroll 當滾動條動起來的時候觸發(fā)的事件

? ? // 瀏覽器頁面的滾動距離际插,瀏覽器卷去的距離

? ? // 通過scrollTop和scrollLeft獲取垂直和水平卷去的距離

? // 獲取頁面卷去的距離 會有兼容問題

? // document.body.scrollTop 當頁面沒有使用DOCTYPE聲明的時候可以獲取到

? // document.documentElement.scrollTop? 當頁面有使用DOCTYPE聲明的時候可以獲取到

? // window.onscroll = function(){

? ? // console.log(document.body.scrollTop);

? ? // console.log(document.documentElement.scrollTop);

? ? // console.log(document.body.scrollLeft);

? ? // console.log(document.documentElement.scrollLeft);

? // }


? // 2. 瀏覽器的頁面加載事件 load

? //? 當瀏覽器頁面中的內(nèi)容(頁面結構,文本,圖片,css,js等資源)全部加載完畢后會觸發(fā)的事件

? // window.onload = function(){

? //? btn.onclick = function(){

? //? ? alert('你真棒');

? //? }

? // }

? // btn.onclick = function(){

? //? alert('你真棒');

? // }

? // 3. 瀏覽器的頁面可視窗口變化事件? resize

? //? 當瀏覽器窗口大小變化的時候會觸發(fā)

? // window.onresize = function(){

? //? // console.log(window.innerWidth);

? //? // console.log(window.innerHeight);

? // }


// 定時器分兩種:

? // 定時器都有一個返回值:返回定時器的標識id(就是數(shù)字標識)

? //? 1. 間隔定時器? setInterval()

? //? 2. 倒計時定時器(爆炸定時器)? setTimeout()

? // 1. 間隔定時器

? // 語法: setInterval(函數(shù),時間);? 時間單位是毫秒

? //? 每隔一段時間就運行一次函數(shù)

? // 返回定時器標識id

? // var timerId = setInterval(function(){

? //? alert('我又來啦');

? // },5000);

? // console.log(timerId);

? // 2. 倒計時定時器

? // 語法: setTimeout(函數(shù),時間)? 時間單位是毫秒

? //? 過一段時間會執(zhí)行函數(shù)

? // 返回定時器標識id?

? // var timerId = setTimeout(function(){

? //? console.log('爆炸');

? // },3000);

? // console.log(timerId);

? // 清除定時器

? // clearInterval(),clearTimeout()

? // 語法:clearInterval(定時器標識)? 關閉對應的定時器

? // 語法:clearTimeout(定時器標識)? 關閉對應的定時器


? // var timerId = setTimeout(function(){

? //? console.log('時間到了');

? // },5000);

? // var timerId2 = setInterval(function(){

? //? console.log('等會我還來');

? // },2000)

? // btn.onclick =function(){

? //? // clearTimeout(timerId);

? //? // clearTimeout(timerId2)

? //? clearInterval(timerId);

? //? clearInterval(timerId2);

? // }


// 輸出順序

? // code start

? // code end

? // 我是定時器

? /*

? ? 定時的執(zhí)行是異步代碼執(zhí)行:


? ? 同步執(zhí)行: 代碼按順序執(zhí)行

? ? 異步執(zhí)行: 代碼不按順序執(zhí)行谐腰,先執(zhí)行同步代碼孕豹,當所有同步代碼執(zhí)行完畢,才開始執(zhí)行異步代碼


? */


/*

? ? ? DOM ---> Document Object Model

? ? ? ? ? ? ? ? 文檔? ? 對象? ? 模型

? ? ? 文檔對象模型: 操作頁面中的節(jié)點

? ? ? ? doucument 是DOM中的頂級對象 其上一級是window對象? ? ?

? ? ? // 獲取頁面中的特殊標簽

? ? ? // document.body? 頁面中body標簽

? ? ? // 獲取 頁面中的 head 標簽

? ? ? // document.head

? ? ? // 獲取頁面中的title,也可設置頁面的title

? ? ? // document.title

? ? */

? ? // console.log(window);

? ? // console.log(document.body);

? ? // console.log(document.head);

? ? // console.log(document.title);

? ? // document.title = 'DOM';


// 要操作頁面的中標簽元素十气,我們要先獲取到標簽元素

? // 獲取DOM中的標簽元素的方法

? // 1. 通過id獲取

? // 語法: document.getElementById(標簽的id值)

? //? 返回對應的標簽元素

? //? 如果沒有這個標簽励背,則返回null

? // var li1 = document.getElementById('one');

? // console.log(li1);? // 獲取到標簽元素

? // var li66 = document.getElementById('one6');

? // console.log(li66); // null

? // 2. 通過類名獲取? class的值

? // 語法: document.getElementsByClassName(類名)

? // 返回對對應類名的標簽組成 偽數(shù)組

? // 如果沒有對應的類名 則返回空的偽數(shù)組

? // var lis = document.getElementsByClassName('cls');

? // console.log(lis);

? // var lis66 = document.getElementsByClassName('cls66');

? // console.log(lis66);

? // 3. 通過標簽名獲取元素?

? // 語法: document.getElementsByTagName(標簽名)

? // 返回一個偽數(shù)組,里面是匹配的標簽

? // 如果沒有匹配到 則返回空的偽數(shù)組

? // var lis2 = document.getElementsByTagName('li');

? // console.log(lis2);

? // var uls = document.getElementsByTagName('ul');

? // console.log(uls);

? // 4. 通過選擇器獲取元素 querySelector()

? // 語法: document.querySelector(選擇器)?

? //? 選擇器的寫法和css中一樣一樣的

? // 返回選擇器匹配的第一個元素

? // 如果選擇器匹配不到元素? null

? // console.log(document.querySelector('#one'));

? // console.log(document.querySelector('li'));

? // console.log(document.querySelector('#id'));


? // 5. 通過選擇器獲取元素 querySelectorAll()

? // 語法:document.querySelectorAll(選擇器)

? //? 選擇器的寫法和css中一樣一樣的

? // 返回選擇器匹配的所有元素的一個偽數(shù)組

? // 如果選擇器選擇不到砸西,則返回空的偽數(shù)組

? // console.log(document.querySelectorAll('#one'));

? // console.log(document.querySelectorAll('li'));

? // console.log(document.querySelectorAll('lilili'));

? // console.log(document.getElementById('one'));

? // 不建議直接通過id屬性值作為標簽元素在js使用

? // console.log(one);// 不建議使用

</script>

<script>

? // var lis = document.getElementsByClassName('cls');

? // console.log(lis);

? // 偽數(shù)組 和數(shù)組一樣都有索引下標和length屬性表示長度

? // 但是偽數(shù)組不能使用數(shù)組方法

? // 報錯

? // lis.forEach(function(){ //? lis.forEach is not a function

? //? console.log(666);

? // })


// 操作DOM屬性

? /*?

? ? 1. 操作標簽的內(nèi)容

? ? ? innerText? 獲取設置標簽的文本(不識別html標簽)

? ? ? innerHTML? 獲取設置標簽的超文本(識別html標簽)

? ? ? // 設置都是覆蓋性的設置

? ? 2. 操作標簽屬性

? ? ? ? getAttribute(屬性名)? 獲取標簽的屬性值

? ? ? ? setAttribute(屬性名,屬性值)? 設置標簽的屬性

? ? ? ? removeAttribute(屬性名)? 移除標簽的屬性

? ? 3. 標簽的css樣式操作

? ? ? style? ? ? 獲取到標簽的所有行內(nèi)樣式

? ? ? style.樣式名? 獲取設置標簽的行內(nèi)樣式值

? ? 5. 操作標簽的類名

? ? ? className? 獲取設置標簽的類名

? ? ? ? // 設置是覆蓋性設置? ? ?

? */

? var div = document.getElementsByTagName('div')[0];

? // console.log(div.innerText);? //are you ok?? // 獲取文本內(nèi)容

? // div.innerText = 'thank you'; // 設置文本內(nèi)容

? // div.innerText = '<i>thank you</i>'; // 設置文本內(nèi)容

? // console.log(div.innerHTML); // <p>are you ok?</p>

? // div.innerHTML += '<i>thank you</i>';? //使用+=拼接原來的內(nèi)容

? // 獲取標簽屬性

? // console.log(div.getAttribute('id')); // divId

? // 設置標簽屬性

? // div.setAttribute('index','666');

? // div.setAttribute('id','good');

? // 移除標簽的屬性

? // div.removeAttribute('num');

? // div.removeAttribute('id')

? // 獲取標簽的行內(nèi)樣式

? // console.log(div.style);

? // console.log(div.style.color);

? // div.style.color = 'yellow';

? // css中的樣式名叶眉,如果是多個單詞組成的,在js要使用小駝峰寫法

? // div.style.fontSize = '50px';

? // 獲取設置標簽的類名

? // console.log(div.className);

? // div.className = 'green';

? // div.className += ' green';

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末芹枷,一起剝皮案震驚了整個濱河市衅疙,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌鸳慈,老刑警劉巖饱溢,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異走芋,居然都是意外死亡绩郎,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進店門翁逞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來肋杖,“玉大人,你說我怎么就攤上這事挖函∽粗玻” “怎么了?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長浅萧。 經(jīng)常有香客問我逐沙,道長哲思,這世上最難降的妖魔是什么洼畅? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮棚赔,結果婚禮上帝簇,老公的妹妹穿的比我還像新娘。我一直安慰自己靠益,他們只是感情好丧肴,可當我...
    茶點故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著胧后,像睡著了一般芋浮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上壳快,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天纸巷,我揣著相機與錄音,去河邊找鬼眶痰。 笑死瘤旨,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的竖伯。 我是一名探鬼主播存哲,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼七婴!你這毒婦竟也來了祟偷?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤打厘,失蹤者是張志新(化名)和其女友劉穎修肠,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體婚惫,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡氛赐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了先舷。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片艰管。...
    茶點故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蒋川,靈堂內(nèi)的尸體忽然破棺而出牲芋,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布缸浦,位于F島的核電站夕冲,受9級特大地震影響,放射性物質發(fā)生泄漏裂逐。R本人自食惡果不足惜歹鱼,卻給世界環(huán)境...
    茶點故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望卜高。 院中可真熱鬧弥姻,春花似錦、人聲如沸掺涛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽薪缆。三九已至秧廉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間拣帽,已是汗流浹背疼电。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留诞外,地道東北人澜沟。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像峡谊,于是被迫代替她去往敵國和親茫虽。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,562評論 2 349

推薦閱讀更多精彩內(nèi)容

  • BOM / DOM(上) 今天開始我們開始使用 js 去操作瀏覽器和頁面中的 html 元素了 BOM BOM(B...
    蝸牛的愿望正在緩沖中閱讀 255評論 0 0
  • JavaScript中Dom 1.基本概念 1.1 什么是window? window:是一個全局對象, 代表瀏覽...
    煤球快到碗里來閱讀 246評論 0 0
  • js的組成部分 前面學習的部分是ECMAScript部分既们,都是基礎語法部分濒析。基礎語法只是規(guī)定的代碼如何寫啥纸,并不能實...
    新生勿擾閱讀 285評論 0 0
  • DOM 根據(jù)id獲取元素 var div = document.getElementById('main'); 注...
    wrootlflvl閱讀 351評論 0 0
  • 十二号杏、JavaScript的DOM特效 在web瀏覽器上,window對象是一個全局對象斯棒,代表web瀏覽器中一個打...
    劉遠舟閱讀 366評論 0 1