<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      JS中的數據類型

      1、數據類型

      值類型(基本類型):字符串(String)、數字(Number)、布爾(Boolean)、空(Null)、未定義(Undefined)、Symbol、bigint 。

      引用數據類型:Object(包括Array,Function、Object類等)。JavaScript中可以說一切皆對象。

      區別:前七種原生數據類型的存放在棧中,引用數據類型存放在堆中,它的地址在棧中,一般我們訪問就是它的地址。

      console.log(typeof 123);    //number
      console.log(typeof "abc");  //string
      console.log(typeof true);   //boolean
      console.log(typeof null);   //object
      console.log(typeof undefined);      //undefined
      console.log(typeof [1, 2, 3]);     //object
      console.log(typeof {a:123,b:456});  //object
      console.log(typeof function a(){return 123});  //function 實際上,在判斷引用類型時,除了function其他的都為object

       可參考:http://www.runoob.com/js/js-datatypes.html

       

      1.1、JS中Null與Undefined的區別

      區別:

      • Undefined類型只有一個值,即undefined。當聲明的變量還未被初始化時,變量的默認值為undefined。undefind 是全局對象的一個屬性,當一個變量沒有被賦值或者一個函數沒有返回值或者某個對象不存在某個屬性卻去訪問或者函數定義了形參但沒有傳遞實參,這時候都是undefined。
      • Null類型也只有一個值,即null。null用來表示尚未存在的對象,常用來表示函數企圖返回一個不存在的對象。

       

      var val;  
      val== undefined //輸出 "true"   這段代碼顯示為true,代表 val 的值即為undefined,因為我們沒有初始化它。
      
      null == document.getElementById('notExistElement')      // 當想要獲取頁面上一個不存在的DOM節點時,這段代碼顯示為"true",因為我們嘗試獲取一個不存在的對象。

      alert(typeof undefined); //output "undefined"  
      alert(typeof null);     //output "object"  

      第一行代碼很容易理解,undefined的類型為Undefined;第二行代碼卻讓人疑惑,為什么null的類型是Object?其實這是JavaScript最初實現的一個錯誤,后來被ECMAScript沿用下來。在今天我們可以解釋為,null即是一個不存在的對象的占位符,但是在實際編碼時還是要注意這一特性。


      alert(null == undefined); //output "true"  

      ECMAScript認為undefined是從null派生出來的,所以把它們定義為相等的。但是,如果在一些情況下,我們一定要區分這兩個值,那應該怎么辦呢?可以使用下面的兩種方法。

      alert(null === undefined); //output "false"  
      alert(typeof null == typeof undefined); //output "false"  

      使用typeof方法在前面已經講過,null與undefined的類型是不一樣的,所以輸出"false"。而===代表絕對等于,在這里null === undefined輸出false。

       

      2、判斷數據類型

      2.1、判斷是否為對象

      var obj = {a: 123, b: 456}
      console.log(Object.prototype.toString.call(obj) === '[object Object]');  //true
      console.log(obj.constructor === Object);  //true
      console.log(obj instanceof Object);       //true

       

      2.2、判斷是否為數組

      var obj = [1,2]
      console.log(Array.isArray(obj));        //true
      console.log(obj instanceof Array);     //true
      console.log(Object.prototype.toString.call(obj) === '[object Array]');    //true
      console.log(obj.constructor === Array);      //true
      console.log(obj.push != undefined);         //true 有兼容性問題

       

      2.3、判斷是否為字符串

      var str = 'aaa'
      console.log(typeof str);       //string
      console.log(str.constructor);  //? String() { [native code] }
      console.log(Object.prototype.toString.call(str));  //[object String]
      var str2 = new String();
      console.log(str2 instanceof String);              //true  只有通過new方式聲明一個字符串時,使用instanceof方法才是true

       

      posted @ 2018-12-25 17:25  wenxuehai  閱讀(238)  評論(0)    收藏  舉報
      //右下角添加目錄
      主站蜘蛛池模板: 综1合AV在线播放| 狠狠色噜噜狠狠狠狠2021| 热99久久这里只有精品| 欧美成本人视频免费播放| 在线播放深夜精品三级| 国产精品无遮挡又爽又黄| 年轻女教师hd中字3| 一区二区三区在线 | 欧洲| 成人免费乱码大片a毛片| 中文乱码人妻系列一区二区| 四虎成人在线观看免费| 国产精品一区二区AV| 中文字幕无码视频手机免费看 | 亚洲国产性夜夜综合| 亚洲夂夂婷婷色拍ww47| 影音先锋亚洲成aⅴ人在| 亚洲a人片在线观看网址| 极品美女aⅴ在线观看| 国产精品一区二区久久精品| 国产精品欧美福利久久| 东至县| 午夜免费视频国产在线| 无码伊人66久久大杳蕉网站谷歌| 国产成人综合亚洲欧美日韩| 亚洲第一精品一二三区| 欧美变态另类zozo| 亚洲天堂网色图伦理经典| 国产午夜成人久久无码一区二区| 日本狂喷奶水在线播放212| 国产精品大片中文字幕| 激情四射激情五月综合网| 亚洲AV无码成H人动漫无遮挡| 秋霞电影院午夜无码免费视频| 亚洲精品国产综合麻豆久久99| 免费看欧美日韩一区二区三区| 国产精品中文字幕综合| 高清性欧美暴力猛交| 日本免费人成视频在线观看| 青青国产揄拍视频| 久久婷婷成人综合色| 一本色道久久88亚洲综合|