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

資訊專欄INFORMATION COLUMN

《javascript高級程序設(shè)計(jì)》筆記:valueOf() / toString() 對比

yzzz / 3446人閱讀

摘要:中這樣描述和調(diào)用方法用來把對象轉(zhuǎn)換成原始類型的值數(shù)值字符串和布爾值。你很少需要自己調(diào)用此函數(shù)當(dāng)遇到一種需要轉(zhuǎn)換成一個(gè)原始值情況時(shí)候,會自動調(diào)用此函數(shù)。默認(rèn)情況下會被每個(gè)對象繼承。

MDN 中這樣描述 valueOf()toString():

  JavaScript 調(diào)用 valueOf() 方法用來把對象轉(zhuǎn)換成原始類型的值(數(shù)值、字符串和布爾值)。
你很少需要自己調(diào)用此函數(shù);當(dāng)遇到一種需要轉(zhuǎn)換成一個(gè)原始值情況時(shí)候, JavaScript 會自動調(diào)
用此函數(shù)。

  默認(rèn)情況下, valueOf() 會被每個(gè)對象Object繼承。每一個(gè)內(nèi)置對象都會覆蓋這個(gè)方法為了返回
一個(gè)合理的值,如果對象沒有原始值,valueOf() 就會返回對象自身;

  每個(gè)對象都有一個(gè) toString() 方法,當(dāng)對象被表示為文本值時(shí)或者當(dāng)以期望字符串的方式引用
對象時(shí),該方法被自動調(diào)用。默認(rèn)情況下,toString() 方法被每個(gè)繼承自O(shè)bject的對象繼承。如
果此方法在自定義對象中未被覆蓋,toString() 返回 "[object type]",其中type是對象類型

簡單的說:
valueOf()函數(shù)用于返回指定對象的原始值;
toString()函數(shù)用于返回指定對象的字符串;

對象 valueOf() 返回值 toString() 返回值
Number 數(shù)字值(number) 數(shù)字值(string)
String 字符串值 字符串值
Boolean 布爾值 字符串值
Object 對象本身 字符串值
Function 函數(shù)本身 字符串值
Date 以毫秒數(shù)存儲的時(shí)間值(number) 標(biāo)準(zhǔn)時(shí)間輸出(string)
// Number
var num = 15.26540,
    num2 = new Number(15.26540);
console.log( "valueOf", num.valueOf() === num ); // true number類型 
console.log( "toString", num.toString() === num );// false string類型
console.log( "valueOf", num2.valueOf() === num2 ); // false number類型 
console.log( "toString", num2.toString() === num2 );// false string類型
console.log( num.valueOf() === num.toString());// false
console.log( num2.valueOf() === num2.toString());// false

// String
var str = "abcd",
    str2 = new String("abcd");
console.log( "valueOf", str.valueOf() === str );// true string類型
console.log( "toString", str.toString() === str );// true string類型
console.log( "valueOf", str2.valueOf() === str2 );// false string類型
console.log( "toString", str2.toString() === str2 );// false string類型
console.log( str.valueOf() === str.toString());// true
console.log( str2.valueOf() === str2.toString());// true

// Boolean
var bool = true,
    bool2 = new Boolean(true);
console.log( "valueOf", bool.valueOf() === bool );// true string類型
console.log( "toString", bool.toString() === bool );// false string類型
console.log( "valueOf", bool2.valueOf() === bool2 );// false boolean類型
console.log( "toString", bool2.toString() === bool2 );// false string類型
console.log( bool.valueOf() === bool.toString());// false
console.log( bool2.valueOf() === bool2.toString());// false

// Object
var obj = {name: "張三", age: 18};
console.log( "valueOf", obj.valueOf() === obj );// true object類型
console.log( "toString", obj.toString() === obj );// false string類型
console.log( obj.valueOf() === obj.toString());// false

// Function
var fn = function(){},
    fn2 = new Function("x", "y", "return x+y")
console.log( "valueOf", fn.valueOf() === fn );// true object類型
console.log( "toString", fn.toString() === fn );// false string類型
console.log( "valueOf", fn2.valueOf() === fn2 );// true object類型
console.log( "toString", fn2.toString() === fn2 );// false string類型
console.log( fn.valueOf() === fn.toString());// false
console.log( fn2.valueOf() === fn2.toString());// false

// Date
var date = new Date();
console.log( "valueOf", date.valueOf() );// 1501830320383 number類型
console.log( "toString", date.toString() );// Fri Aug 04 2017 15:05:45 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間) string類型
console.log( date.valueOf() === date.toString());// false

移步:valueOf() / toString()深入分析對比

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/84658.html

相關(guān)文章

  • JavaScript高級程序設(shè)計(jì)筆記:基本概念

    摘要:一寫在前面最近重讀高級程序設(shè)計(jì),總結(jié)下來,查漏補(bǔ)缺。但這種影響是單向的修改命名參數(shù)不會改變中對應(yīng)的值。這是因?yàn)閷ο蟮拈L度是由傳入的參數(shù)個(gè)數(shù)決定的,不是由定義函數(shù)時(shí)的命名參數(shù)的個(gè)數(shù)決定的。實(shí)際改變會同步,改變也會同步 一、寫在前面 最近重讀《JavaScript高級程序設(shè)計(jì)》,總結(jié)下來,查漏補(bǔ)缺。 二、JS簡介 2.1 JS組成 ECMAscript:以ECMA-262為基礎(chǔ)的語言,由...

    ygyooo 評論0 收藏0
  • JavaScript高級程序設(shè)計(jì)》讀書筆記

    摘要:為了每個(gè)對象都能通過來檢測,需要以或者的形式來調(diào)用,傳遞要檢查的對象作為第一個(gè)參數(shù),稱為。對象都是動態(tài)的,這就意味著每次訪問對象,都會運(yùn)行一次查詢。是語言中立的用于訪問和操作和文檔。 一、第三章 基本概念: 1.理解參數(shù) 1.1 可以向函數(shù)中傳遞任意數(shù)量的參數(shù),并且可以通過arguments對象來訪問這些參數(shù)。 1.2 arguments對象只是類似數(shù)組,它通過length來確定傳進(jìn)來...

    dayday_up 評論0 收藏0
  • 讀書筆記(06) - 語法基礎(chǔ) - JavaScript高級程序設(shè)計(jì)

    摘要:寫在開頭本篇是小紅書筆記的第六篇,也許你會奇怪第六篇筆記才寫語法基礎(chǔ),筆者是不是穿越了。可移步筆者的文章中替換方式參考文檔高級程序設(shè)計(jì)作者以樂之名本文原創(chuàng),有不當(dāng)?shù)牡胤綒g迎指出。 showImg(https://segmentfault.com/img/bVblGMc?w=600&h=400); 寫在開頭 本篇是小紅書筆記的第六篇,也許你會奇怪第六篇筆記才寫語法基礎(chǔ),筆者是不是穿越了。...

    iOS122 評論0 收藏0
  • JS的String()、toString()、valueOf()的一些隱秘特性

    摘要:默認(rèn)情況下,方法以十進(jìn)制格式返回?cái)?shù)值的字符串表示。注意,默認(rèn)的沒有參數(shù)的輸出值與指定基數(shù)時(shí)的輸出值相同。但是,在上,他們兩個(gè)表現(xiàn)出了截然不同的形式,在對一個(gè)對象類型進(jìn)行時(shí),直接返回原對象,而則返回。 toString()方法 要把一個(gè)值轉(zhuǎn)換為一個(gè)字符串,最常用的就是,使用幾乎每個(gè)值都有的toString()方法,這個(gè)方法唯一要做的就是返回相應(yīng)值的字符串表現(xiàn)。 數(shù)值、布爾值、對象和字符串...

    姘擱『 評論0 收藏0
  • javascript高級程序設(shè)計(jì)筆記:關(guān)系運(yùn)算符與相等運(yùn)算符

    摘要:要比較相等性之前,不能將和轉(zhuǎn)換成其他任何值。如果有一個(gè)操作數(shù)是,則相等操作符返回,而不相等操作符返回。重要提示即使兩個(gè)操作數(shù)都是,相等操作符也返回因?yàn)榘凑找?guī)則,不等于。 關(guān)系運(yùn)算符 關(guān)系運(yùn)算符有小于()、小于等于(=)四種,它們都返回一個(gè)布爾值 《javascript高級程序設(shè)計(jì)》書中的規(guī)則是這樣描述運(yùn)算規(guī)則: (1)如果兩個(gè)操作數(shù)都是數(shù)值,則執(zhí)行數(shù)值比較; (2)如果兩個(gè)操作數(shù)都是字...

    Blackjun 評論0 收藏0

發(fā)表評論

0條評論

yzzz

|高級講師

TA的文章

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