js初級復習

1.條件語句

1.三目運算符:

num % 2 == 0 ? alert('該數(shù)字是偶數(shù)') : alert('該數(shù)字是奇數(shù)');

2.switch語句

var a = '星期一';
            switch(a) {
                case '星期一':
                    alert('今天星期一');
                    break;
                // default:

            }

3.break:跳出當前循環(huán)(函數(shù))蛔垢,繼續(xù)向后執(zhí)行。
continue:結束本次循環(huán),開啟下一次循環(huán)型型。

2.數(shù)組

1.數(shù)組中常用的方法

var arr1 = [1, 2, 3, 3, 'hello', 3, '22'];

            // 把數(shù)組轉(zhuǎn)為字符串的方法:toString();
            var str = arr1.toString();
            console.log(str);
            console.log(arr1);
            // join():把數(shù)組轉(zhuǎn)為字符串時全蝶,可以指定元素與元素之間的連字符
            str = arr1.join('+');
            console.log(str);
            console.log(arr1);

            // 從數(shù)組末尾添加新元素:push();
            var count = arr1.push('我是新元素1', '我是新元素2','我是新元素3');
            console.log(count);
            console.log(arr1);

            // 從數(shù)組末尾刪除元素:pop()
            count = arr1.pop();
            console.log(count);
            console.log(arr1);

            // 從數(shù)組起始位置刪除元素:shift()
            count = arr1.shift();
            console.log(count);
            console.log(arr1);

            // 從數(shù)組的起始位置插入新元素:unshift()
            count = arr1.unshift('23');
            console.log(count);
            console.log(arr1);

            // 根據(jù)當前數(shù)組創(chuàng)建一個新數(shù)組:concat()
            var arr2 = arr1.concat([1, 2, 3, 4, 5])
            console.log(arr1);
            console.log(arr2);

            // 根據(jù)已有的數(shù)組創(chuàng)建新數(shù)組:slice()函數(shù)中的兩個參數(shù)分別表示要獲取當前數(shù)組中元素的起始下標(包含)和結束下標(不包含)闹蒜;
            var arr3 = arr1.slice(1,3);
            console.log(arr1);

            //判斷3在下標為4的地方開始到最后是否存在,存在返回下標抑淫,不存在返回false绷落。
            var inde = arr1.indexOf(3, 4);
            console.log(inde);

2.冒泡排序
外側循環(huán)控制比較的趟數(shù),內(nèi)層循環(huán)控制比較的次數(shù)丈冬。

var arr = [100, 29, 23, 13, 4]
        // 外層循環(huán)控制趟數(shù):元素個數(shù)-1
        for (var i = 0; i < arr.length-1; i++) {
            // 內(nèi)層循環(huán)控制每一趟比較的次數(shù):元素個數(shù)-趟數(shù)
            for (var j = 0; j < arr.length-1-i; j++) {
                // j代表當前獲取到的元素下標
                if (arr[j] > arr[j+1]) {
                    var temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
        console.log(arr);

3. 字符串

1.字符串的管理形式借助于數(shù)組結構嘱函,所以也可以使用變量名[下標]的形式獲取到單個字符,也可以通過遍歷取到每一個字符埂蕊。
2.字符串的方法

// 字符串拼接操作:concat()\+
            var str4 = str3.concat(' kitty');
            // console.log(str3);
            // console.log(str4);

            // slice():有一個參數(shù)時往弓,從當前參數(shù)指定的下標截取到字符串末尾
            var str5 = str4.slice(5);
            // console.log(str4);
            // console.log(str5);
            // slice():有兩個參數(shù)時,第一個參數(shù)時截取的起始下標蓄氧,第二個參數(shù)是截取的終止下標(不包含終止下標的字符)
            var str6 = str4.slice(5, 9);
            // console.log(str4);
            // console.log(str6);

            // substring():如果有一個參數(shù)函似,表示從當前下標一直截取到結束位置;如果有兩個參數(shù)喉童,第一個參數(shù)表示截取起始位置撇寞,第二個參數(shù)表示截取結束位置(不包含結束為止的字符)

            // substr():如果有一個參數(shù),表示從當前下標一直截取到結束位置堂氯;如果有兩個參數(shù):第一個參數(shù)是截取起始位置蔑担,第二個參數(shù)是從起始位置開始截取的字符個數(shù)
            var str7 = str4.substr(5, 2);
            // console.log(str4);
            // console.log(str7);

            // indexOf():如果只有一個參數(shù),則表示從左向右搜尋和該參數(shù)匹配的字符咽白,并返回該下標啤握,如果沒有,則返回-1晶框;
            var inde = str4.indexOf('o');
            console.log(str4);
            console.log(inde);

            // indexOf():如果有兩個參數(shù)排抬,第一個參數(shù)表示要查找的字符懂从,第二個參數(shù)表示從指定的下標開始從左向右查找。
            inde = str4.indexOf('o', 5);
            // console.log(str4);
            // console.log(inde);

            // lastIndexOf():如果有一個參數(shù)蹲蒲,表示:從后向前查找匹配的字符并返回第一個匹配成功的字符下標
            inde = str4.lastIndexOf('o');
            // console.log(str4);
            // console.log(inde);

            // lastIndexOf():如果有兩個參數(shù)番甩,表示:第一個參數(shù)是要查找的字符,第二個參數(shù)表示查找的起始坐標届搁。從起始坐標開始缘薛,向前查找匹配的字符
            inde = str4.lastIndexOf('o', 5);
            // console.log(str4);
            // console.log(inde);

3.Math對象(數(shù)學函數(shù))

// 獲取數(shù)據(jù)的最大值
            var max = Math.max(12,34,0,-1);
            console.log(max);
            // 獲取數(shù)據(jù)中的最小值
            var min = Math.min(12, 34, 0, -1);
            console.log(min);

            // Math.ceil():向上取整,進一法
            console.log(Math.ceil(99.1));
            console.log(Math.ceil(99.5));

            // Math.floor():向下取整,去尾法
            console.log(Math.floor(99.1));
            console.log(Math.floor(99.5));

            // Math.round():四舍五入取整
            console.log(Math.round(99.1));
            console.log(Math.round(99.5));

            // Math.pow(x,y):求x的y次方
            console.log(Math.pow(2,2));
            // Math.sqrt():開平方運算
            console.log(Math.sqrt(4));
            // Math.abs(num):求絕對值
            console.log(Math.abs(-100));

4. bom瀏覽器對象模型

屬性 描述
appCodeName 返回瀏覽器的代碼名咖祭。
appMinorVersion 返回瀏覽器的次級版本掩宜。
appName 返回瀏覽器的名稱。
appVersion 返回瀏覽器的平臺和版本信息么翰。
browserLanguage 返回當前瀏覽器的語言牺汤。
cookieEnabled 返回指明瀏覽器中是否啟用 cookie 的布爾值。
cpuClass 返回瀏覽器系統(tǒng)的 CPU 等級浩嫌。
onLine 返回指明系統(tǒng)是否處于脫機模式的布爾值檐迟。
platform 返回運行瀏覽器的操作系統(tǒng)平臺。
systemLanguage 返回 OS 使用的默認語言码耐。
userAgent 返回由客戶機發(fā)送服務器的 user-agent 頭部的值追迟。
userLanguage 返回 OS 的自然語言設置。

1.bom對象:window對象骚腥,location對象敦间,screen對象,history對象束铭,navigator對象廓块。
2.window對象
window.screenX/screenY主窗口的位置。
window.innerWidth/innerHeight瀏覽器寬度和瀏覽器的高度
window.open()打開新頁面:參數(shù)一:要打開頁面的url鏈接契沫,參數(shù)二三可以省略带猴。
系統(tǒng)對話框:alert(),prompt(),confirm().
定時器:setInteral(),setTimeout()
3.location對象
該對象中的屬性和方法操作瀏覽器的url區(qū)域。
location.reload()沒有參數(shù)時懈万,從緩存中加載一遍頁面拴清。當參數(shù)為true時從服務器請求數(shù)據(jù)。
location.replace('url字符串')該方法修改頁面会通,不會被歷史記錄保存口予。
4.screen對象(一般用于移動設備)
screen.availHeight:屏幕的高度減去系統(tǒng)部件高度的像素值。
scrern.availWidth:寬度
screen.height():屏幕高度
screen.width():屏幕的寬度
5.navigator對象(識別客戶端瀏覽器的事實標準)

屬性 描述
appCodeName 返回瀏覽器的代碼名涕侈。
appMinorVersion 返回瀏覽器的次級版本苹威。
appName 返回瀏覽器的名稱。
appVersion 返回瀏覽器的平臺和版本信息驾凶。
browserLanguage 返回當前瀏覽器的語言牙甫。
cookieEnabled 返回指明瀏覽器中是否啟用 cookie 的布爾值。
cpuClass 返回瀏覽器系統(tǒng)的 CPU 等級调违。
onLine 返回指明系統(tǒng)是否處于脫機模式的布爾值窟哺。
platform 返回運行瀏覽器的操作系統(tǒng)平臺。
systemLanguage 返回 OS 使用的默認語言技肩。
userAgent 返回由客戶機發(fā)送服務器的 user-agent 頭部的值且轨。
userLanguage 返回 OS 的自然語言設置。

5. dom

        // 什么是DOM:文檔對象模型虚婿,一份html文件在js中就是一個DOM對象(document對象)
        // BOM是包含DOM的

        // 節(jié)點的概念:組成一份DOM文檔的所有內(nèi)容都是DOM的節(jié)點旋奢,包括但不僅限于:標簽、空格然痊、換行至朗、注釋、標簽的屬性剧浸、標簽中嵌套的文本

獲取標簽

// 查詢標簽的范圍是整個html文件锹引,也就是在document范圍中搜索指定的標簽,所以要使用document對象調(diào)用相關查找方法唆香。

        // 因為W3C協(xié)議規(guī)定id值唯一嫌变,所以通過id獲取標簽,只能獲取一個標簽躬它,如果頁面中出現(xiàn)同名id腾啥,則只獲取匹配的第一個標簽
        var pTag = document.getElementById('p');
        // console.log(pTag);


        // 通過標簽名獲取標簽:可以獲取到頁面中所有的同名標簽
        // 返回值是一個類似于數(shù)組的數(shù)據(jù)類型,把所有匹配到的標簽按照先后順序冯吓,利用下標管理起來倘待。
        var aTags = document.getElementsByTagName('a');
        // console.log(aTags[0]);

        // 通過class名獲取標簽
        var linkTags = document.getElementsByClassName('link');
        // console.log(linkTags);


        // 通過name屬性值獲取input類型(form表單)的標簽
        var inputs = document.getElementsByName('user');
        // console.log(inputs);


        // 通過標簽的選擇器獲取標簽
        // querySelector():不管頁面中與參數(shù)匹配的標簽有幾個,只能拿到第一個匹配的標簽
        var tag = document.querySelector('.link');
        // console.log(tag);

        // querySelectorAll():可以獲取到頁面中所有與參數(shù)匹配的標簽
        var tags = document.querySelectorAll('.link');
        console.log(tags);

for循環(huán)添加事件

也可以把var i = 0改為let i = 0桑谍;這樣每一回循環(huán)都會重新聲明一個變量延柠。
還可以用閉包解決。

// for循環(huán)給按鈕添加事件
         for (var i = 0; i < btnTags.length; i++) {
             console.log(i);
             // 利用i充當數(shù)組數(shù)組下標锣披,逐個獲取按鈕贞间,并添加事件
             // 使用for循環(huán)給標簽添加事件時,不能在事件函數(shù)中使用循環(huán)變量雹仿,因為當觸發(fā)事件函數(shù)時增热,循環(huán)已經(jīng)結束,循環(huán)變量已經(jīng)變?yōu)樽詈笠粋€數(shù)值了胧辽,點擊任何按鈕峻仇,訪問到的循環(huán)變量都是同一個數(shù)字
             // 解決辦法:給每一個標簽添加一個屬性,用這個屬性存儲該標簽對應的下標值邑商,在通過事件函數(shù)獲取標簽下表時摄咆,不能使用循環(huán)變量凡蚜,而是通過該屬性拿值。
             btnTags[i].box = i;
             btnTags[i].onclick = function () {
                 // 當點擊事件觸發(fā)時吭从,執(zhí)行該函數(shù)朝蜘,獲取按鈕的下標,借助于當時新添加的屬性獲壬稹(按鈕下標和顏色下標是一一對應的)
                 var inde = this.box;
                contentTag.style.backgroundColor = colorArr[inde];
             }


         }
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末谱醇,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子步做,更是在濱河造成了極大的恐慌副渴,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件全度,死亡現(xiàn)場離奇詭異煮剧,居然都是意外死亡,警方通過查閱死者的電腦和手機讼载,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門轿秧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人咨堤,你說我怎么就攤上這事菇篡。” “怎么了一喘?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵驱还,是天一觀的道長。 經(jīng)常有香客問我凸克,道長议蟆,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任萎战,我火速辦了婚禮咐容,結果婚禮上,老公的妹妹穿的比我還像新娘蚂维。我一直安慰自己戳粒,他們只是感情好,可當我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布虫啥。 她就那樣靜靜地躺著蔚约,像睡著了一般。 火紅的嫁衣襯著肌膚如雪涂籽。 梳的紋絲不亂的頭發(fā)上苹祟,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天,我揣著相機與錄音,去河邊找鬼树枫。 笑死直焙,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的砂轻。 我是一名探鬼主播箕般,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼舔清!你這毒婦竟也來了?” 一聲冷哼從身側響起曲初,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤体谒,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后臼婆,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抒痒,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年颁褂,在試婚紗的時候發(fā)現(xiàn)自己被綠了故响。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡颁独,死狀恐怖彩届,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情誓酒,我是刑警寧澤樟蠕,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站靠柑,受9級特大地震影響寨辩,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜歼冰,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一靡狞、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧隔嫡,春花似錦甸怕、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至庆揪,卻和暖如春式曲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工吝羞, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留兰伤,地道東北人。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓钧排,卻偏偏與公主長得像敦腔,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子恨溜,可洞房花燭夜當晚...
    茶點故事閱讀 43,465評論 2 348

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

  • 第1章 認識JS JavaScript能做什么符衔?1.增強頁面動態(tài)效果(如:下拉菜單、圖片輪播糟袁、信息滾動等)2.實現(xiàn)...
    mo默22閱讀 1,250評論 0 5
  • 1.跳轉(zhuǎn)語句 break:瀏覽器執(zhí)行到break判族,直接跳出循環(huán)或判斷語句,結束本語句 continue:語句的作用...
    2e9a10d418ab閱讀 223評論 0 0
  • 有人說過项戴,很多彎路到最后都成了直路形帮,所有的坑到最后也都成了坦途;所謂的直路和坦途并不是擺在眼前的周叮,都是不斷的的...
    老衲法號一眉道人閱讀 1,319評論 0 4
  • 清晨辩撑,漫步在校園的林蔭小路上,玉蘭花的芬芳彌漫在空氣中沁人心脾仿耽,桃花依舊顯得那么粉艷合冀,一陣清風拂過,聽到的是花瓣落...
    老兵日記閱讀 320評論 0 4
  • 過去的人氓仲,有的不想遺忘水慨,那么就在心里給他們留個位置,以示對這段記憶的尊重
    Eason_h閱讀 203評論 0 0