javascript的一些小故事

continue 持續(xù)原狀  使繼續(xù)、
charAt 截取一個(gè)字符(字符串截取)
findInArr   
-------------------------------------------------
關(guān)于數(shù)組:
unshift();  在數(shù)組的最前添加一個(gè)
push();     在數(shù)組的最后一位添加
shift();    在數(shù)組的最前面刪除一個(gè)
pop();      在數(shù)組的最后一位給刪除掉delete
splice();   :
 
    arr.splice(起始位置的下標(biāo),刪除的個(gè)數(shù));
    arr.splice(arr.length,0,4)用splice做push的功能
    arr.splice(arr.length-1,1);用splice做pop的功能
    arr.splice(起始位置的下標(biāo),刪除0個(gè),要添加的第1個(gè),要添加的第2個(gè),3,4,);
    arr.splice(起始位置下標(biāo),刪除的個(gè)數(shù),'a','b');
------------------------------------------------
關(guān)于字符串:
str.charAt(下標(biāo))  獲取第幾個(gè)字符串

indexOf('');    在一個(gè)大的字符串里查找一個(gè)小字符串的位置

lastindexOf();  從右往左找,返回的下標(biāo)是從左往右數(shù)的

substring(3,7); 從大字符串里面截取一個(gè)小字符串(從第3個(gè)到第7個(gè)位子-不包括結(jié)束位置)當(dāng)他的值為一個(gè)數(shù)的時(shí)候 一直截取到最后

split(‘切分的東西’); 切分之后,就變成了數(shù)組!如果里面是空字符串,就會(huì)把大字符串給切碎了!


concat      數(shù)組拼接
    var arr=[1,2,3];
    var arr2=[4,5,6];
    alert(arr.concat(arr2));


reverse     數(shù)組翻轉(zhuǎn)


sort        排序

大小寫(xiě)轉(zhuǎn)換
        toUpperCase()  小轉(zhuǎn)大
        toLowerCase()   大轉(zhuǎn)小

join()      方法加入數(shù)組的所有元素為一個(gè)字符串。指定字符串分開(kāi)數(shù)組的每個(gè)元素。如果省略,則數(shù)組元素用逗號(hào)分隔。


parseFloat  可以把字符串轉(zhuǎn)換成:數(shù)字(保留小數(shù))


 parseInt
        可以把字符串轉(zhuǎn)換成:數(shù)字(整數(shù),取整) 在整數(shù)范圍內(nèi),碰到字母,不讀??!

charCodeAt  指定字符的編碼


fromCharCode    編碼轉(zhuǎn)換成字符串


Number  
        可以把字符串轉(zhuǎn)換成:數(shù)字(數(shù)字)

        嚴(yán)格模式:如果里面有一個(gè)字母,我就告訴你NAN(不是數(shù)字)


            NaN----不是一個(gè)數(shù)字,但是它是一個(gè)數(shù)字類(lèi)型!
    
             它自己不等于自己!

判斷NaN用:
            isNaN(a)

---------------------------------------------------------

關(guān)于數(shù)學(xué)的方法:


    1.Math.random() 隨機(jī)數(shù) 
    2.Math.abs()  絕對(duì)值   
    3.Math.max(113,45)  最大值
        誰(shuí)大是誰(shuí) ,目前來(lái)說(shuō)它是113
    4.Math.min(113,45)  最小值
        誰(shuí)小是誰(shuí) ,目前來(lái)說(shuō)它是45
    5.Math.pow(n,m)  n的m次方

    6.Math.sqrt(25)  開(kāi)平方  
            5
   
----------------------------------
    7.向上取整
        Math.ceil(12.11)---13
    8.向下取整
        Math.floor(12.89);---12
    9.四舍五入
        Math.round(12.5);












===========================================================




字符串:(類(lèi)型)
    
    帶引號(hào)的都是字符串   

    ***一個(gè)大字符串=多個(gè)小字符串相加!


數(shù)組: 是一個(gè)可拆分的object
    
    var arr=['zhinegshe',456,789,....]

數(shù)據(jù)類(lèi)型:
typeof(a)----查看數(shù)據(jù)類(lèi)型?。。?
常見(jiàn)的6種數(shù)據(jù)類(lèi)型:

    number---數(shù)字
    string---字符串
    boolean---布爾值
    object----對(duì)象
        undefined---未定義
        function--函數(shù)


數(shù)組是一個(gè)特殊的object,因?yàn)樗梢圆鸱譃槎鄠€(gè)數(shù)據(jù)類(lèi)型!

    var arr=['123',123,true]
    
    alert(typeof arr)



軟調(diào)試:
            alert(1)---調(diào)試簡(jiǎn)單程序,可以縮小錯(cuò)誤范圍(不能調(diào)試帶循環(huán))

            1.document.title=i; 把最后的值打印到title上!

            2.console.log(i)



隱式轉(zhuǎn)換:
            (1)加法可以使數(shù)字轉(zhuǎn)化字符串
            var a='12';
            var b=6;
        
            alert(a+b)---126
            字符串加數(shù)字=字符串

            **加法:數(shù)字自動(dòng)轉(zhuǎn)換成字符串?。ㄒ粋€(gè)字符串,一個(gè)數(shù)字)
            (2)減法:可以使字符串轉(zhuǎn)換成數(shù)字
            var a='12';
            var b=6;
        
            alert(a+b)---126
            字符串減去數(shù)字=數(shù)字

            (3)在比較的時(shí)候,也可以把字符串轉(zhuǎn)換成數(shù)字!



修改標(biāo)簽的內(nèi)容:
        1.表單元素---value
        2.普通元素---innerHTML(修改標(biāo)簽里面的所有內(nèi)容)

        字符串:
            頁(yè)面中只要是加引號(hào)的都是字符串

            字符串+字符串=大字符串



作用域:

        全局變量:在程序中任何位置都可以使用

        局部變量:只能在函數(shù)內(nèi)部使用

            閉包:子函數(shù)可以使用父函數(shù)的局部變量


什么是真?
        true   非0的數(shù)字   非空字符串 非空對(duì)象


什么是假
        false   0   空字符串   undefined  null  NaN




獲取非行間樣式:
    
        1、getComputedStyle(oBox,false).width

        兼容:ie9+ 谷歌  火狐

        不兼容:ie8-

        2、oBox.currentStyle.width

        只兼容:ie系列


兼容寫(xiě)法:獲取到的值是字符串!
    
        if(oBox.currentStyle){
            alert(oBox.currentStyle.width); 
        }else{
            alert(getComputedStyle(oBox,false).width);
        }



        注意:獲取到值是最終頁(yè)面上展現(xiàn)出來(lái)的!


隨機(jī)數(shù):

        n-m
        parseInt(Math.random()*(m-n))+n


select里面有一個(gè)事件:
    
        select.onchange=function(){};



eval();
--------
1. eval可以把字符串的運(yùn)算,轉(zhuǎn)換成普通數(shù)字運(yùn)算!
例子:
var str='12+8';
alert(eval(str));

2.eval可以把字符串的數(shù)組,轉(zhuǎn)換成普通數(shù)組var str='[1,2,3,4]';
alert(eval(str));

3.eval可以把字符串的函數(shù),轉(zhuǎn)換成普通函數(shù)
var str='function show(){alert(1)}';
    eval(str);
    show();
    
--------------------------
總結(jié):
    
    eval可以把看似很像程序代碼的字符串轉(zhuǎn)換成,真真意義上程序(可以轉(zhuǎn)化成程序可以執(zhí)行的東西)


----和字符串打交道!
    
    可以字符串解析成js可以理解的程序!

undefined出現(xiàn)情況:
    
    1.return為空,不寫(xiě)return
    2.定義一個(gè)變量不賦值
    3.訪問(wèn)一個(gè)元素里面,不存在的屬性



方括號(hào)下標(biāo)對(duì)數(shù)組是標(biāo)配!

對(duì)于字符串來(lái)說(shuō):不兼容ie7-

字符串也有一個(gè)下標(biāo)標(biāo)配:
    alert(str.charAt(2));



this在哪些地方不管用:
    1.封裝的函數(shù)里,在事件那里調(diào)用(必須傳參)!
    2.定時(shí)器里面不可以直接使用父級(jí)函數(shù)的this!
    (必須把this保存在父級(jí)函數(shù)的局部變量里面)


封閉空間:
    好處:
        1.可以解決變量名沖突!
        2.可以解決i值的問(wèn)題!
        3.可以解決定時(shí)器的i值



    命名沖突(變量名沖突):

怎么解決?

    答:封閉空間!     



arguments 就代表  show 里面實(shí)際參數(shù)的數(shù)組


好處:
    首先不用在有幾個(gè)實(shí)參,就的寫(xiě)一個(gè)形參!



獲取樣式:
        1.行間樣式(alert(obj.style.wdith))
        2.獲取非行間樣式


    設(shè)置樣式:
        1.行間樣式(obj.style.wdith='100px')
        2.className
        3.link
        4.
        with(oBox.style){//公共代碼
            width='200px';
            height='200px';
            background='blue';
        }
        5.
        oBox.style.cssText='width:200px;height:200px;background:green;';



數(shù)組  json 區(qū)別:

共同:     都可以存儲(chǔ)多個(gè)

區(qū)別:
    
    arr:
        1.數(shù)組有l(wèi)ength
        2.for循環(huán)
        3.alert(arr)
        4.arr是有序
        5.下標(biāo)是數(shù)字

    json:
        1.沒(méi)有l(wèi)ength
        2.for(var name in json){//在json里面循環(huán)name(彈出name,訪問(wèn)值,訪問(wèn)json里面name)
            alert(json[name]);  
         }

            3. console.log(json);
        4.是無(wú)序
        5.下標(biāo)是字符串


json和數(shù)組的很大區(qū)別:

        數(shù)組:添加:

        arr.push();

        json :添加

        var json={a:1,b:2};
    
       json.c=3;
       
       console.log(json);


        數(shù)組:刪除

        arr.pop();

        json :刪除

         var json={a:1,b:2,c:3};
       
        delete json.b;
       
        console.log(json);



利用數(shù)組的length屬性可以動(dòng)態(tài)的 添加屬性和刪除屬性

var arr=['red','black','green']
    arr.length=4;
    arr[3]='yellow';
    arr[arr.length]='switchQ';
    arr[arr.length]='font';

isArray 檢測(cè) 是不是數(shù)組
    IF(Array.isArray() ){}

---------------------
every():    對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù)如果該函數(shù)的每一項(xiàng)都返回true ,則返回true

filter():   對(duì)數(shù)組中每一項(xiàng)運(yùn)行給定函數(shù),返回該函數(shù)會(huì)返回true的所有項(xiàng)組成的數(shù)組//查詢(xún)符合某些條件的數(shù)組很有用

reduce()可以求數(shù)組所有值的和 他的函數(shù)接受4個(gè)參數(shù):前一個(gè)值,當(dāng)前值,項(xiàng)的索引,數(shù)組對(duì)象 例如:
var values = [1,2,3,4,5]; 
var sum = values.reduce(function(prev, cur, index, array){ 
return prev + cur; 
}); 
alert(sum); //15 

reduceRight():方法與reduce()差不多不過(guò)順序是相反的

obj.call(綁定this指向)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第5章 引用類(lèi)型(返回首頁(yè)) 本章內(nèi)容 使用對(duì)象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類(lèi)型 使用基本類(lèi)型...
    大學(xué)一百閱讀 3,690評(píng)論 0 4
  • 原文: https://github.com/ecomfe/spec/blob/master/javascript...
    zock閱讀 3,489評(píng)論 2 36
  • JS基礎(chǔ)講解 JavaScript組成ECMAScript:解釋器、翻譯DOM:Document Object M...
    FConfidence閱讀 624評(píng)論 0 1
  • JS使用技巧專(zhuān)題 1開(kāi)發(fā)技巧 1.1函數(shù)使用 1.1.1函數(shù)聲明方式 JS函數(shù)的寫(xiě)法總結(jié) http://blog....
    Kevin_Junbaozi閱讀 1,185評(píng)論 0 11
  • 早上發(fā)現(xiàn)大姨媽來(lái)看我了,就知道這次減肥十有八九是堅(jiān)持不下去了,畢竟我還是沒(méi)辦法要求自己在姨媽來(lái)的時(shí)候堅(jiān)持做運(yùn)動(dòng)鍛煉...
    戒指花歌閱讀 198評(píng)論 0 0

友情鏈接更多精彩內(nèi)容