JS基礎(chǔ)(6)

<b>獲取樣式:</b>
封裝了一個(gè)獲取非行間樣式:

封裝: 就是把代碼包裹起來(lái)
特點(diǎn):
    a). 通用性
    b). 方便

function getStyle(obj,name) {
     return obj.currentStyle ? obj.currentStyle[name] : getComputedStyle(obj,false)[name];
}

<b>設(shè)置樣式:</b>
a). class -> oDiv.className='xx'
b). style -> oDiv.style.樣式='xxx'
其他方式:
cssText: -> 批量設(shè)置樣式
也是操作的行間的樣式

字符串小方法(函數(shù))

<b>1. str.charAt(索引值);</b>
獲取字符串中的某一個(gè)?
var str = 'abc';
str.charAt(索引值);
返回:小字符串

<b>2. str.indexOf(小字符串)</b>
在字符串中找某一個(gè)小字符串的位置
var str = 'welcome';
str.indexOf(小字符串)
返回:數(shù)字
<strong>特性:</strong>
a). 找到之后不會(huì)繼續(xù)往下找
b). 找不到就返回-1
c). 區(qū)分大小寫(xiě)
d). 從左往右找
e). 找多個(gè)小字符串會(huì)返回第一個(gè)匹配字符的位置

eg: 判斷瀏覽器類型

UA:  window.navigator.userAgent
    Chrome:
    Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36
    FF:
    Mozilla/5.0 (Windows NT 10.0; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0 
    IE7:
    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; InfoPath.3) 

在window.navigator.userAgent下找相對(duì)應(yīng)的關(guān)鍵詞

<b>3. str.indexOf(小字符串)</b>
找小字符串在整個(gè)字符串中的位置,從右往左找
返回:數(shù)字
特性:
a). 找到之后不會(huì)繼續(xù)往下找
b). 找不到就返回-1
c). 區(qū)分大小寫(xiě)
d). 從右往左
e). 找多個(gè)小字符串會(huì)返回第一個(gè)匹配字符的位置

<b>4. str.substring(開(kāi)始位置,結(jié)束位置)</b>
var str = 'width';
截取字符串
str.substring(開(kāi)始位置,結(jié)束位置);
*** 包含開(kāi)始位置,但是不包含結(jié)束位置
str.substring(開(kāi)始位置)
從開(kāi)始位置一直截取到最后

eg :
截取擴(kuò)展名:
    a.txt.js.html.doc
    a). 找最后一個(gè) . 出現(xiàn)的一個(gè)位置
    b). 從最后一個(gè)點(diǎn)的位置+1 開(kāi)始截取,一直截取到最后

<b>5. str.split(切割的規(guī)則);</b>
切割字符串
把字符串變成數(shù)組
返回:數(shù)組
如果沒(méi)有找到切割規(guī)則,原樣輸出到一個(gè)數(shù)組中,長(zhǎng)度是1

<b>6. 大小寫(xiě)轉(zhuǎn)換:</b>
var str = 'width';
轉(zhuǎn)大寫(xiě): -> 'WIDTH'
str.toUpperCase();

var str = 'WIDTH';
轉(zhuǎn)小寫(xiě): -> 'width'
str.toLowerCase();

<b>字符串的比較(一般沒(méi)什么用,知道就行)</b>

   'apple'  'banana'
    1. 英文:
        按照字典序
        a -> 最小
        z -> 最大
    先比較第一個(gè),如果相等會(huì)依次比較下去
    2. 數(shù)字:
        a). 一個(gè)數(shù)字,一個(gè)字符串的數(shù)字
            先做隱式轉(zhuǎn)化,在做比較
        b). 兩個(gè)字符串的數(shù)字比較
            先比較第一個(gè),如果相等會(huì)依次比較下去
    3. 漢字:
        蒙圈
        Unicode 排序

數(shù)組小方法(函數(shù))

怎么定義一個(gè)數(shù)組:
a). var arr = [1,2,3]; √
b). var arr = new Array(1,2,3);
小問(wèn)題:當(dāng)new 一個(gè)數(shù)組內(nèi)容為一個(gè)數(shù)字的時(shí)候他返回的就是他的長(zhǎng)度為該數(shù)字
var arr = new Array(3); 數(shù)組的長(zhǎng)度是3

長(zhǎng)度 : arr.length
訪問(wèn): arr[下標(biāo)]

添加:
a). push(東西) -> 往數(shù)組的最后面添加一項(xiàng)
b). unshift(東西) -> 往數(shù)組的最前面添加一項(xiàng)
返回:新數(shù)組的長(zhǎng)度

刪除:
a). pop(); -> 從數(shù)組的最后面刪除一項(xiàng)
返回刪除的東西
b). shift(); -> 從數(shù)組的最前面刪除一項(xiàng)
返回刪除的東西

萬(wàn)能操作:
arr.splice(開(kāi)始位置,刪除個(gè)數(shù),元素1,元素2...);

    添加:
    var arr = [1,2,3,4]
    在 1 的后面添加 'a' 和 'b'
    arr.splice(1,0,'a','b')

    刪除:
    var arr = [1,2,3,4];
    刪除 2,3
    arr.splice(1,2);

    修改:先刪除在添加
    var arr = [1,2,3,4];
    把 2 改成 8,88,888
    arr.splice(1,1,8,88,888);


splice模擬上面的方法:
    a). splice模擬push方法:
        arr.splice(arr.length,0,元素);
    b). splice模擬unshift方法:
        arr.splice(0,0,元素);
    c). splice模擬pop方法:
        arr.splice(arr.length-1,1);
    d). splice模擬shift方法:
        arr.splice(0,1);

字符串轉(zhuǎn)數(shù)組:
str.split(切割的規(guī)則);

數(shù)組轉(zhuǎn)字符串:
var arr = [1,2,3,4];
arr.join('連接的規(guī)則');

數(shù)組拼接:
arr.concat(數(shù)組)

var arr = [1,2,3];
    var arr2 = [4,5,6];
        arr.concat(arr2....);

    var arr = [1,2,3,4,5];

數(shù)組反轉(zhuǎn):
a). arr.reverse();
b). 循環(huán)pop

數(shù)組排序:
arr.sort();
var arr = ['banana','apple','width','color'];
a). 字母 -> 按照字典序

var arr = ['11','12','333','231'];
b). 字符串?dāng)?shù)字 -> 按照首字母大小

var arr = [1,2,11,23,123,5];
c).arr.sort();

高級(jí)排序:
arr.sort(function(n1,n2){
n1 > n2
n1 < n2
n1 = n2
});

// 從小到大
arr.sort(function(n1,n2){
    return n1 - n2;
});

// 從大到小
arr.sort(function(n1,n2){
    return n2 - n1;
});

關(guān)于數(shù)組注意點(diǎn):
a). 數(shù)組里面一般可以放任意數(shù)據(jù)類型的東西,但是建議大家只放一種數(shù)據(jù)類型
b). 數(shù)組的長(zhǎng)度length, 還可以修改

怎么快速清空一個(gè)數(shù)組:
a). arr.length = 0
b). arr.splice(0,arr.length)
c). 循環(huán)pop
d). arr = [];

最后編輯于
?著作權(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)容

  • 《ijs》速成開(kāi)發(fā)手冊(cè)3.0 官方用戶交流:iApp開(kāi)發(fā)交流(1) 239547050iApp開(kāi)發(fā)交流(2) 10...
    葉染柒丶閱讀 5,618評(píng)論 0 7
  • 一、數(shù)組 數(shù)組是一個(gè)有序列表,所以有下標(biāo). 并且數(shù)組在js中可以存在任意類型的數(shù)據(jù).并且同一個(gè)數(shù)組中可以存放不同的...
    空谷悠閱讀 560評(píng)論 0 1
  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile麗語(yǔ)閱讀 4,079評(píng)論 0 6
  • 數(shù)組方法里push、pop、shift、unshift、join、split分別是什么作用。(*) (push、p...
    coolheadedY閱讀 832評(píng)論 0 0
  • 今天的我很想哭, 心情也不錯(cuò) 但是眼淚會(huì)控制不住的往外跑 不知道為什么吖 原來(lái)不是只有傷心的時(shí)候才會(huì)流淚呀
    miss嚴(yán)Athnea閱讀 255評(píng)論 0 0

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