前端基本功--js實(shí)戰(zhàn)4 10.31

一、三種循環(huán)

  1. for(初始化; 條件; 增量){}
  2. while(條件) { 語(yǔ)句 } 可能會(huì)不執(zhí)行
  3. do {} while() 至少執(zhí)行一次
    二、多分支語(yǔ)句
    switch(參數(shù))
    {
    case 參數(shù)1:
    語(yǔ)句;
    break; 退出的意思
    case 參數(shù)2:
    語(yǔ)句;
    break; 退出的意思
    ........
    default: 默認(rèn)的
    語(yǔ)句;
    }
    效率比if else 更高
    三、onchange事件
    拉菜單的事件 onchange
    sele.onchange = function(){}
    當(dāng)下拉內(nèi)容改變的時(shí)候 事件發(fā)生
    四、數(shù)組

1.添加數(shù)組
用法例如 arr.push(1)
(1) push()
push() 方法可向數(shù)組的末尾添加一個(gè)或多個(gè)元素,返回新的長(zhǎng)度。 push 推進(jìn)去

var dom = [1,3,5];
console.log(dom.push(7));  // 返回的是 數(shù)組的長(zhǎng)度  4

(2) unshift() 可向數(shù)組的開頭添加一個(gè)或更多元素,并返回新的長(zhǎng)度。

2.刪除數(shù)組
(1) pop() 刪除最后一個(gè)元素 返回值 是 返回最后一個(gè)值
(2) shift() 用于把數(shù)組的第一個(gè)元素從其中刪除,并返回第一個(gè)元素的值

3.連接兩個(gè)數(shù)組
contact () arr1.contact(arr2)

4.join() 把數(shù)組轉(zhuǎn)換為字符串
作用是將數(shù)組各個(gè)元素是通過(guò)指定的分隔符進(jìn)行連接成為一個(gè)字符串。
數(shù)組本身是不會(huì)改變的。
arr.join(符號(hào));

var arr = [1,2,3];
console.log(arr.join(“-”))    結(jié)果就是:  1-2-3    //字符串

5.把字符串轉(zhuǎn)換為數(shù)組 split()

stringObject.split(separator,howmany)
參數(shù) separator 可選。指定要使用的分隔符。如果省略該參數(shù),則使用逗號(hào)作為分隔符。
howmany 可選。該參數(shù)可指定返回的數(shù)組的最大長(zhǎng)度

例:

var txt ="aa-bb-cc";
console.log(txt.split("-")) ;  
// 結(jié)果是  ["aa","bb","cc"]
// 兩處的符號(hào)要保持一致 

五、DOM
1.我們js 有三部分組成的?

核心(ECMAScript)歐洲計(jì)算機(jī)制造商協(xié)會(huì)
描述了JS的語(yǔ)法和基本對(duì)象。 var aa var AA 不一樣

文檔對(duì)象模型(DOM) 學(xué)習(xí)的重點(diǎn)
處理網(wǎng)頁(yè)內(nèi)容的方法和接口

瀏覽器對(duì)象模型(BOM) 了解一下
與瀏覽器交互的方法和接口
window.alert() 有很大的的兼容問(wèn)題

  1. DOM
    (1)定義:為文檔提供結(jié)構(gòu)化顯示,定義了如何通過(guò)腳本訪問(wèn)文檔結(jié)構(gòu),為了讓js操作html而定義的規(guī)范。
    通過(guò)dom來(lái)訪問(wèn)的頁(yè)面中的每一個(gè)標(biāo)簽,每個(gè)標(biāo)簽都是一個(gè)dom對(duì)象。
    (2)節(jié)點(diǎn)
    標(biāo)簽標(biāo)記元素 都是節(jié)點(diǎn)
    由結(jié)構(gòu)圖中我們可以看到,整個(gè)文檔就是一個(gè)文檔節(jié)點(diǎn)。
    每一個(gè)HMTL標(biāo)簽都是一個(gè)元素節(jié)點(diǎn)。
    標(biāo)簽中的文字則是文字節(jié)點(diǎn)。
    標(biāo)簽的屬性是屬性節(jié)點(diǎn)。
    一切都是節(jié)點(diǎn)……
    (3)訪問(wèn)節(jié)點(diǎn)
    getElementById() id 訪問(wèn)節(jié)點(diǎn)
    getElementsByTagName() 標(biāo)簽訪問(wèn)節(jié)點(diǎn)
    getElementsByClassName() 類名 (有兼容性問(wèn)題,主流瀏覽器支持 ie 67 8 不認(rèn)識(shí) 解決:自己封裝自己的類 。)
    3.封裝class類
    取出所有盒子進(jìn)行遍歷,通過(guò)每個(gè)盒子的classname判斷。
<script>
    window.onload = function(){
       //封裝自己class類名
        function getClass(classname){
            //如果瀏覽器支持,則直接返回
            if(document.getElementsByClassName)
            {
                return document.getElementsByClassName(classname);
            }
            // 不支持的 瀏覽器
            var arr = []; // 用于存放滿足的數(shù)組
            var dom = document.getElementsByTagName("*");
            //alert(dom.length);
            for(var i=0;i<dom.length;i++)
            {
                if(dom[i].className == classname)
                {
                    arr.push(dom[i]);
                }
            }
            return arr;
        }
        console.log(getClass("demo").length);
    }
</script>

分割:

4.判斷真假
數(shù)字類型 所有數(shù)字都是真,0是假
字符串 所有字符串都是真,’ ’串是假
對(duì)象 所有對(duì)象都是真,null是假
未定義 undefined是假,沒有真

六、訪問(wèn)關(guān)系
1.

圖片1.png

父節(jié)點(diǎn):parentNode 親的 一層

<script>
    window.onload = function(){
        var x = document.getElementById("x");
        x.onclick = function(){
            this.parentNode.style.display = "none";
            // 關(guān)掉的是他的 父親
        }
    }
</script>

2.兄弟節(jié)點(diǎn)
nextSibiling 親的 下一個(gè)兄弟 ie678認(rèn)識(shí)。
nextElementSibling 其他瀏覽器認(rèn)識(shí)。
previousSibling 親的 上一個(gè)兄弟
previousElementSibling
可以合著寫 用 || 必須先寫正常瀏覽器 后寫 ie678 。
3.子節(jié)點(diǎn)
基本上不用,容易出問(wèn)題,因?yàn)榭崭褚矔?huì)被當(dāng)作孩子。
firstChild 第一個(gè)孩子 ie678。
firstElementChild 第一個(gè)孩子 正常瀏覽器 。
lastChild
lastElementChild
4.孩子節(jié)點(diǎn)
childNodes:選出全部孩子
它是標(biāo)準(zhǔn)屬性,它返回指定元素的子元素集合,包括HTML節(jié)點(diǎn),所有屬性,文本節(jié)點(diǎn) (嫡出)火狐 谷歌等高本版會(huì)把換行也看做是子節(jié)點(diǎn)。
利用 nodeType == 1 來(lái)獲取元素節(jié)點(diǎn)!!

   nodeType == 1    元素節(jié)點(diǎn)     
   nodeType == 2    屬性節(jié)點(diǎn)
   nodeType == 3    文本節(jié)點(diǎn) 

children :(庶出)常用, 選取所有孩子,只包含元素節(jié)點(diǎn)!
在ie678里注釋也是節(jié)點(diǎn)。
七、dom里的節(jié)點(diǎn)操作
1.新建節(jié)點(diǎn)

var demo = document.getElementById("demo");
var a = document.createElement("li"); //生成一個(gè)新的li標(biāo)簽

2.插入節(jié)點(diǎn)
(1) appendChild(); 意思: 添加孩子 放到盒子的最后面。

demo.appendChild("a"); //在demo后添加了一個(gè)li標(biāo)簽  

(2) insertBefore (插入的節(jié)點(diǎn),參照節(jié)點(diǎn))

demo.insertBefore(test,childrens[0]);
//放到第一個(gè)孩子的前面,在第一個(gè)孩子前面插入一個(gè)節(jié)點(diǎn)test
demo.insertBefore(test,null);//如果第二個(gè)參數(shù)為null  則默認(rèn)這新生成的盒子放到最后面。

3.刪除節(jié)點(diǎn)
removeChild() 孩子節(jié)點(diǎn)

var da = document.getElementById("xiongda");
demo.removeChild(da);

4.克隆節(jié)點(diǎn)
cloneNode();括號(hào)里放參數(shù)。
如果是true,深層復(fù)制:復(fù)制盒子和子節(jié)點(diǎn)。
如果是false只復(fù)制本節(jié)點(diǎn)。

var last = chidrens[0].cloneChild(true);
demo.appendChild(last);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,117評(píng)論 6 537
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,860評(píng)論 3 423
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,128評(píng)論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,291評(píng)論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,025評(píng)論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,421評(píng)論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,477評(píng)論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,642評(píng)論 0 289
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,177評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,970評(píng)論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,157評(píng)論 1 371
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,717評(píng)論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,410評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,821評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,053評(píng)論 1 289
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,896評(píng)論 3 395
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,157評(píng)論 2 375

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

  • 變量命名、聲明、賦值 1.必須以字母、下劃線或美元符號(hào)開頭,后面可以跟字母、下劃線、美元符號(hào)和數(shù)字。2.變量名區(qū)分...
    wq04200閱讀 636評(píng)論 0 1
  • 第1章 系好安全帶,準(zhǔn)備啟航 1.1讓你認(rèn)識(shí)JS 1.1.1 JavaScript能做什么?增強(qiáng)頁(yè)面動(dòng)態(tài)效果(...
    張中華閱讀 1,387評(píng)論 4 10
  • 昨天一天寶寶的體溫都有點(diǎn)高,折騰了一夜早上起來(lái)才降了不少下來(lái),苦苦鬧鬧的小然然終于又露出笑臉來(lái)了。下午在單位沒有上...
    我叫小然然閱讀 212評(píng)論 0 1
  • 周末還是以“推薦閱讀”為主。今天要推薦的內(nèi)容是從最近上映的一個(gè)大片引出的。那就是黑寡婦斯嘉麗·約翰遜主演的《攻殼機(jī)...
    北郵老土閱讀 1,225評(píng)論 0 1
  • 內(nèi)容來(lái)自:跟著永澄老師重建文件管理系統(tǒng)1——整理無(wú)能癥也能治 Up_風(fēng)雨陽(yáng)光 作者 我按照步驟實(shí)踐。 能不能我一次...
    晴空00閱讀 1,701評(píng)論 0 2