国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

01.javascript之數據類型

Aceyclee / 2059人閱讀

摘要:新增了第七種類型的值數值字符串布爾值對象數據類型判斷有三種方法,可以判斷一個值的類型運算符運算符方法運算符運算符可以返回一個值的數據類型。運算符運算符返回一個布爾值,表示對象是否為某個構造函數的實例。

1.數據類型

JavaScript一共有六種數據類型。(ES6新增了第七種Symbol類型的值)

數值(Number)

字符串(String)

布爾值(boolean)

undefined

null

對象(object)

2.數據類型判斷

JavaScript有三種方法,可以判斷一個值的類型

typeof運算符

instanceof運算符

Object.prototype.toString()方法

typeof運算符

typeof運算符可以返回一個值的數據類型。
數值、字符串、布爾值分別返回numberstringboolean

typeof 123  //"number"
typeof "hello"  //"string"
typeof true  //"boolean"

函數返回function

function f(){} 
typeof f  //"function"

undefined返回undefined

typeof undefined  // "undefined"

對象返回object

typeof {} // "object"
typeof [] // "object"

null返回object`。

typeof null // "object"
instanceof運算符

instanceof運算符返回一個布爾值,表示對象是否為某個構造函數的實例。
由于instanceof檢查整個原型鏈,因此同一個實例對象,可能會對多個構造函數都返回true
instanceof運算符的一個用處,是判斷值的類型。

var x = []
var f={}
x instanceof Array //true
f instanceof Object //true

instanceof運算符只能用于對象,不適用原始類型的值。

利用instanceof運算符,還可以解決,調用構造函數時,忘了加new命令的問題。

function Fn (f1, f2) {
  if (this instanceof Fn) {
    this._foo = f1;
    this._bar = b2;
  } else {
    return new Fn(f1, f2);
  }
}
Object.prototype.toString()

toString方法的作用是返回一個對象的字符串形式,默認情況下返回類型字符串。

var o1 = new Object();
o1.toString() //"[object Object]"

toString() 的應用:判斷數據類型
Object.prototype.toString方法返回對象的類型字符串,因此可以用來判斷一個值的類型。

var obj = {};
obj.toString() // "[object Object]"

上面代碼調用空對象的toString方法,結果返回一個字符串object Object,其中第二個Object表示該值的構造函數。這是一個十分有用的判斷數據類型的方法。

由于實例對象可能會自定義toString方法,覆蓋掉Object.prototype.toString方法,所以為了得到類型字符串,最好直接使用Object.prototype.toString方法。通過函數的call方法,可以在任意值上調用這個方法,判斷這個值的類型。

Object.prototype.toString.call(value)

上面代碼表示對value這個值調用Object.prototype.toString方法。
不同數據類型的Object.prototype.toString方法返回值如下。

數值:返回[object Number]

Object.prototype.toString.call(12) //"[object Number]"

字符串:返回[object String]

Object.prototype.toString.call("ab")  //"[object String]"

布爾值:返回[object Boolean]

Object.prototype.toString.call(true)  //"[object Boolean]"

undefined:返回[object Undefined]

Object.prototype.toString.call(undefined)  //"[object Undefined]"

null:返回[object Null]

Object.prototype.toString.call(null)  //"[object Null]"

數組:返回[object Array]

Object.prototype.toString.call([])  //"[object Array]"

函數:返回[object Function]

var f = function (){}
Object.prototype.toString.call(f)  //"[object Function]"

利用這個特性,可以寫出一個比typeof運算符更準確的類型判斷函數。

var type = function (o){
  var s = Object.prototype.toString.call(o);
  return s.match(/[object (.*?)]/)[1].toLowerCase();
};

type({}); // "object"
type([]); // "array"
type(3); // "number"
type(null); // "null"
type(); // "undefined"
type(/abcd/); // "regex"
type(new Date()); // "date"

未完待續

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/96062.html

相關文章

  • 做一名精致的JavaScripter 01JavaScript簡介

    摘要:精致從細節做起。標準會在每年的月發布一次,作為當年的正式版本,便是年發布的正式版本。支持情況各大瀏覽器對的支持情況瀏覽器支持情況對的支持情況支持情況。在瀏覽器中基于實現的已經成為的重要組成部分。 精致從細節做起。前端的工作也有一段時間了,大大小小的前端框架都有接觸過,越是深入學習越是感覺之前的學習過于粗糙,基礎不夠扎實,于是準備近期把JavaScript的基礎知識點梳理一下,查缺補漏,...

    張巨偉 評論0 收藏0
  • day1 - JavaScript Drum Kit 中文指南

    摘要:中文指南作者簡介是推出的一個天挑戰。頁面基礎布局標簽定義鍵盤文本說到技術概念上的特殊樣式時,就要提到標簽。主要代碼主要屬性有以下幾個中有一個樣式為,在本案例中,就是,是以中的為參照物,就是。 Day01 - JavaScript Drum Kit 中文指南 作者:?liyuechun 簡介:JavaScript30 是 Wes Bos 推出的一個 30 天挑戰。項目免費提供了 30 ...

    HackerShell 評論0 收藏0
  • JavaScript Quiz系列題集

    摘要:系列題集系列題集系列題集系列題集系列題集系列題集系列題集隨手記幾個題目先,權當草稿,如果有朋友幫忙分析下原因,不勝感激,哈哈以前的文章地址是這樣的格式,現在變了 從畢業開始切圖接觸前端,慢慢轉向javascript開發...但是,感覺自己的javascript難當大任,基礎薄弱。網上面試題集很多,設計HTML/CSS/JS,但其中的問題,如果不是自己親歷,沒有被難住,是不會有太深印象的...

    xinhaip 評論0 收藏0
  • JavaScript 30 - 一起做一次了不起的挑戰

    摘要:加入我們,一起挑戰吧掃碼申請加入全棧部落 JavaScript 30 - 一起做一次了不起的挑戰 (Node+Vue+微信公眾號開發)企業級產品全棧開發速成周末班首期班(10.28號正式開班,歡迎搶座) 在Github上看到了wesbos的一個Javascript30天挑戰的repo,旨在使用純JS來進行練習,不允許使用任何其他的庫和框架,該挑戰共30天,我會在這里復現這30天遇到的挑...

    1treeS 評論0 收藏0
  • JavaScript 闖關記

    摘要:對象數組初始化表達式,闖關記之上文檔對象模型是針對和文檔的一個。闖關記之數組數組是值的有序集合。數組是動態的,根闖關記之語法的語法大量借鑒了及其他類語言如和的語法。 《JavaScript 闖關記》之 DOM(下) Element 類型 除了 Document 類型之外,Element 類型就要算是 Web 編程中最常用的類型了。Element 類型用于表現 XML 或 HTML 元素...

    mj 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<