引用類型

基本類型與引用類型的區(qū)別

基本類型是保存在棧內(nèi)存中的簡單數(shù)據(jù)段,大小固定。
引用類型是保存在堆內(nèi)存中的對象,變量中保存的是指針,指向內(nèi)存中另一個位置,大小不固定。

基本類型值有哪些?引用類型值有哪些?

基本類型值:undefined,null,number,string,boolean。
引用類型值:object,array,date,regexp,function,基本包裝類型。

Object類型

創(chuàng)建對象的常用兩種方法
  • new Object(),借用原生構(gòu)造函數(shù);
  • 通過對象字面量

推薦使用對象字面量方式創(chuàng)建對象,字面量初始化直接賦值,效率更高;代碼量少,給人一種封裝數(shù)據(jù)的感覺。

訪問對象屬性和方法的兩種常用方法
  • 點表示法 .
  • 方括號表示法 []
對比

點表示法使代碼更嚴(yán)謹(jǐn),方便,少寫好幾個字符。是主流的寫法。
方括號表示法主要優(yōu)點屬性可以是變量,關(guān)鍵字,保留字,錯誤的字符。

Array類型

創(chuàng)建數(shù)組的兩種常見方式
  • 調(diào)用原生構(gòu)造函數(shù)(Array())
  • 使用數(shù)組字面量
優(yōu)缺點對比

和對象的兩種方式一樣

創(chuàng)建一個包含只含數(shù)字20的數(shù)組
  • new Array(20)的解決方案
    new Array(20)創(chuàng)建的是一個長度為20的數(shù)組
var arr = new Array("20");
get20 = parseInt(arr[0]);
  • var get20 = [20];
檢測數(shù)組方式的對比(選講)
  • isArray()
  • 其他

數(shù)組各種方法

  • 轉(zhuǎn)換方法

  • tolacaleString() // 轉(zhuǎn)換為本地字符串,時間類型比較常用

  • toString() // 轉(zhuǎn)為傳統(tǒng)字符串,常用

  • value of() // 輸出本身的值

  • join() // 以不同的分隔符來分割數(shù)組

  • 棧方法
    分析棧的特性,后進(jìn)先出

  • push() // 添加到數(shù)組末尾,返回數(shù)組長度

  • pop() // 刪除并返回數(shù)組最后一項

  • 隊列方法
    與棧方法相反,先進(jìn)先出

  • shift() // 刪除并返回數(shù)組第一項

  • unshift() // 在數(shù)組前端添加任意項并返回新數(shù)組的長度

  • 重排序方法

  • reverse() // 反轉(zhuǎn)

  • sort() // 按照字符編碼的順序從小到大排序,想按照數(shù)字順序方法可以借比較函數(shù)

把比較函數(shù)的例子列幾個出來

  • 操作方法

  • concat() // 創(chuàng)建一個數(shù)組的副本,并把參數(shù)加到副本最后

  • slice() // 返回指定位置到數(shù)組末尾的所有項,不會影響原數(shù)組

  • splice() // 最強大的方法,刪除,插入,替換

  • 位置方法

  • indexOf()

  • lastIndexOf()

  • 迭代方法
    解釋迭代是什么意思? 按順序訪問列表(數(shù)組)中每一項

  • every()

  • filter()

  • forEach()

  • map()

  • some()

  • 歸并方法

  • reduce()

  • reduceRight()

    • 兩個方法都接受兩個參數(shù),第一個參數(shù)為回調(diào)函數(shù),回掉函數(shù)接受四個參數(shù):
      前一個值,當(dāng)前值,當(dāng)前項的索引,目前數(shù)組對象。
    • 有兼容性

Date類型

直接寫一個獲取時間的例子

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <div id="time"></div>
    <script type="text/javascript">
        (function time() {
            var oTime = document.getElementById('time');
            var now = new Date();
            var year = now.getFullYear();
            var month = now.getMonth() + 1;
            var day = now.getDate();
            var hour = now.getHours();
            var minute = now.getMinutes();
            var second = now.getSeconds();
            var timer = null;

            
            oTime.innerHTML = year+"年"+month+"月"+day+"日"+hour+"點"+minute+"分"+second+"秒";
            timer = setInterval(time,1000);
            
            function check(t) {
                if(t < 10) {
                    return "0"+t;
                }
            }
        })();
    </script>
</body>
</html>

RegExp類型

創(chuàng)建正則表達(dá)式的兩種方式
  • var reg1 = new RegExp("pattern","flags") // 借用原生正則構(gòu)造函數(shù)
  • var reg2 = / pattern / flags; // 正則字面量

優(yōu)先使用字面量,使用正則字面量的時候需要對特殊字符進(jìn)行轉(zhuǎn)義(\),

function類型

函數(shù)的內(nèi)部屬性 this

函數(shù)運行時,會自動生成一個內(nèi)部屬性(this指針),代表調(diào)用當(dāng)前函數(shù)的對象;

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

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

  • ??引用類型的值(對象)是引用類型的一個實例。 ??在 ECMAscript 中,引用類型是一種數(shù)據(jù)結(jié)構(gòu),用于將數(shù)...
    霜天曉閱讀 1,218評論 0 1
  • 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的 JavaScript 類型 使用基本類型和基本包裝類型 引用類型的...
    悶油瓶小張閱讀 773評論 0 0
  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,674評論 0 4
  • 一場驟雨,慌亂了街頭 風(fēng)宣告了自由,呼嘯而過 我被孤獨圍困,在喧鬧的路口 四散逃竄的行人,各顧各的存活 襲來無邊的...
    若臆閱讀 392評論 0 6
  • 下載下載鏈接:https://www.golangtc.com/download 默認(rèn)放到/user/local/...
    田佳偉閱讀 3,627評論 0 0

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