1.JS 的數(shù)據(jù)類型有哪些?
簡單數(shù)據(jù)類型:Undefined、Null都哭、Boolean、Number 和 String。
復(fù)雜數(shù)據(jù)類型:Object
2.javaScript 的 Dom 節(jié)點(diǎn)操作創(chuàng)建欺矫、插入纱新、刪除、復(fù)制穆趴、查找
一脸爱、創(chuàng)建節(jié)點(diǎn)、追加節(jié)點(diǎn)
1未妹、createElement(標(biāo)簽名)創(chuàng)建一個(gè)元素節(jié)點(diǎn)(具體的一個(gè)元素)簿废。
2、createTextNode(節(jié)點(diǎn)文本內(nèi)容)創(chuàng)建一個(gè)文本節(jié)點(diǎn)
3络它、createDocumentFragment()? ? //創(chuàng)建一個(gè) DOM 片段
4族檬、appendChild(節(jié)點(diǎn))追加一個(gè)節(jié)點(diǎn)
二、插入節(jié)點(diǎn)
1化戳、appendChild(節(jié)點(diǎn))也是一種插入節(jié)點(diǎn)的方式单料,還可以添加已經(jīng)存在的元素,會將其元素從原來的位置移到新的位置点楼。
2扫尖、insertBefore(a,b)是參照節(jié)點(diǎn),意思是a 節(jié)點(diǎn)會插入 b 節(jié)點(diǎn)的前面盟步。
三藏斩、刪除、移除節(jié)點(diǎn)
1却盘、removeChild(節(jié)點(diǎn)) 刪除一個(gè)節(jié)點(diǎn)狰域,用于移除刪除一個(gè)參數(shù)(節(jié)點(diǎn))。其返回的被移除的節(jié)點(diǎn)黄橘,被移除的節(jié)點(diǎn)仍在文檔中兆览,只是文檔中已沒有其位置了。
四塞关、復(fù)制節(jié)點(diǎn)
cloneNode() 方法抬探,用于復(fù)制節(jié)點(diǎn), 接受一個(gè)布爾值參數(shù)帆赢, true 表示深復(fù)制(復(fù)制節(jié)點(diǎn)及其所有子節(jié)點(diǎn))小压, false 表示淺復(fù)制(復(fù)制節(jié)點(diǎn)本身,不復(fù)制子節(jié)點(diǎn))
五椰于、替換節(jié)點(diǎn)
1怠益、replaceChild(插入的節(jié)點(diǎn),被替換的節(jié)點(diǎn)) 瘾婿,用于替換節(jié)點(diǎn)蜻牢,接受兩個(gè)參數(shù)烤咧,第一參數(shù)是要插入的節(jié)點(diǎn),第二個(gè)是要被替換的節(jié)點(diǎn)抢呆。返回的是被替換的節(jié)點(diǎn)煮嫌。
六、查找節(jié)點(diǎn)
1抱虐、getElementsByTagName()? ? ?//通過標(biāo)簽名稱
2昌阿、 getElementsByName()? ? ?//通過元素的 Name 屬性的值(IE 容錯(cuò)能力較強(qiáng),會得到一個(gè)數(shù)組梯码,其中包括 id 等于 name 值的)
3宝泵、getElementById()? ? ?//通過元素 Id,唯一性
3.請說說事件委托機(jī)制轩娶?這樣做有什么好處儿奶?
事件委托,就是某個(gè)事件本來該自己干的鳄抒,但是自己不干闯捎,交給別人來干。就叫事件委托许溅。打個(gè)比方:一個(gè) button 對象瓤鼻,本來自己需要監(jiān)控自身的點(diǎn)擊事件,但是自己不來監(jiān)控這個(gè)點(diǎn)擊事件贤重,讓自己的父節(jié)點(diǎn)來監(jiān)控自己的點(diǎn)擊事件茬祷。
好處:A,提高性能:列如并蝗,當(dāng)有很多 li 同時(shí)需要注冊事件的時(shí)候祭犯,如果使用傳統(tǒng)方法來注冊事件的話,需要給每一個(gè) li 注冊事件滚停。然而如果使用委托事件的話沃粗,就只需要將事件委托給該一個(gè)元素即可。這樣就能提高性能键畴。
B最盅,新添加的元素還會有之前的事件;
4.談?wù)勀銓?jquery 的理解
JQuery 是繼 prototype 之后又一個(gè)優(yōu)秀的 Javascript 庫起惕。它是輕量級的 js 庫 涡贱,它兼容 CSS3,還兼容各種瀏覽器(IE 6.0+惹想, FF1.5+盼产, Safari 2.0+, Opera 9.0+)勺馆,jQuery2.0 及后續(xù)版本將不再支持 IE6/7/8 瀏覽器戏售。jQuery 使用戶能更方便地處理HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個(gè)應(yīng)用)、events草穆、實(shí)現(xiàn)動(dòng)畫效果灌灾,并且方便地為網(wǎng)站提供AJAX 交互
jQuery 還有一個(gè)比較大的優(yōu)勢是,它的文檔說明很全悲柱,而且各種應(yīng)用也說得很詳細(xì)锋喜,同時(shí)還有許多成熟的插件可供選擇。jQuery 能夠使用戶的 html 頁面保持代碼和html 內(nèi)容分離豌鸡,也就是說嘿般,不用再在 html 里面插入一堆 js 來調(diào)用命令了,只需要定義 id即可
jQuery 是一個(gè)兼容多瀏覽器的 javascript 庫涯冠,核心理念是 write less炉奴,domore(寫得更少,做得更多)蛇更。 jQuery 是免費(fèi)瞻赶、開源的,使用 MIT 許可協(xié)議派任。jQuery 的語法設(shè)計(jì)可以使開發(fā)更加便捷砸逊,例如操作文檔對象、選擇 DOM 元素掌逛、制作動(dòng)畫效果师逸、事件處理、使用 Ajax 以及其他功能豆混。除此以外篓像,jQuery 提供 API 讓開發(fā)者編寫插件。其模塊化的使用方式使開發(fā)者可以很輕松的開發(fā)出功能強(qiáng)大的靜態(tài)或動(dòng)態(tài)網(wǎng)頁崖叫。關(guān)于 jQuery 的內(nèi)部封裝原理
1遗淳、為了防止全局變量污染,把 jQuery 的代碼寫在一個(gè)自調(diào)函數(shù)中心傀,
2屈暗、咱們平常使用的$實(shí)際上 jQuery 對外暴漏的一個(gè)工廠函數(shù),
3脂男、而構(gòu)造函數(shù)在 jQuery 的內(nèi)部叫 init养叛,并且這個(gè)構(gòu)造函數(shù)還被添加到了 jQuery 的原型中。當(dāng)我們調(diào)用工廠函數(shù)的時(shí)候 返回的其實(shí)是一個(gè)構(gòu)造函數(shù)的實(shí)例
4宰翅、jQuery 為了讓第三方能夠?qū)ζ涔δ苓M(jìn)行擴(kuò)展弃甥,所以把工廠函數(shù)的原型與構(gòu)造函數(shù)的原型保持了一致。這樣子對外暴漏工廠函數(shù)汁讼,即可對原型進(jìn)行擴(kuò)展淆攻。