摘要:先說結(jié)論運算操作時,對象的屬性會先被調(diào)用,默認(rèn)的屬性會隱性地調(diào)用方法。
先說結(jié)論:運算操作(+|-|*|÷)時,對象的valueOf屬性會先被調(diào)用,默認(rèn)的valueOf屬性會隱性地調(diào)用toString方法。
var a = { toString: function() { console.log("in a.toString"); return "|_a->toString_|"; }, valueOf: function() { console.log("in a.valueOf"); return "|_a->valueOf_|"; } }; alert(a); //控制臺-> in a.toString //彈窗-> |_a->toString_|
結(jié)論1:alert方法只是多帶帶直接調(diào)用toString方法;
var a = { toString: function() { console.log("in a.toString"); return "|_a->toString_|"; }, valueOf: function() { console.log("in a.valueOf"); return "|_a->valueOf_|"; } }; ""+a; //控制臺-> in a.valueOf ""-a; //控制臺-> in a.valueOf ""*a; //控制臺-> in a.valueOf ""/a; //控制臺-> in a.valueOf
結(jié)論2:運算符會調(diào)用對象的valueOf方法;
var a = { /// toString: function() { // console.log("in a.toString"); // return "|_a->toString_|"; // }, valueOf: function() { console.log("in a.valueOf"); return "|_a->valueOf_|"; } }; ""+a; //控制臺-> in b.valueOf ""-a; //控制臺-> in b.valueOf ""*a; //控制臺-> in b.valueOf ""/a; //控制臺-> in b.valueOf
結(jié)論3:操作符默認(rèn)不會調(diào)用toString方法;
var a = { toString: function() { console.log("in a.toString"); return "|_a->toString_|"; }, /// valueOf: function() { // console.log("in a.valueOf"); // return "|_a->valueOf_|"; // } }; ""+a; //控制臺-> in b.toString ""-a; //控制臺-> in b.toString ""*a; //控制臺-> in b.toString ""/a; //控制臺-> in b.toString
結(jié)論4:默認(rèn)的valueOf會調(diào)用toString方法;
總結(jié):
alert():只調(diào)用toString
運算符:只調(diào)用valueOf
valueOf(默認(rèn)):會調(diào)用valueOf
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/89084.html
摘要:對于與的設(shè)計在中所設(shè)計的純對象類型的與方法,它們的返回如下方法返回值對象本身。與三個強制轉(zhuǎn)換函數(shù),所對應(yīng)的就是在標(biāo)準(zhǔn)中的三個內(nèi)部運算轉(zhuǎn)換的對照表。 在JS中的運算符共同的情況中,(+)符號是很常見的一種,它有以下的使用情況: 數(shù)字的加法運算,二元運算 字符串的連接運算,二元運算,最高優(yōu)先 正號,一元運算,可延伸為強制轉(zhuǎn)換其他類型的運算元為數(shù)字類型 當(dāng)然,如果考慮多個符號一起使用時,...
摘要:前言相信大家在代碼中經(jīng)常看見和,但大家真的弄懂了比較運算符和其中的隱式轉(zhuǎn)換嘛今天就重新認(rèn)識下比較運算符。 前言相信大家在代碼中經(jīng)常看見 == 和 ===,但大家真的弄懂了比較運算符和其中的隱式轉(zhuǎn)換嘛? 今天就重新認(rèn)識下比較運算符。 全等運算符 === 說明: 嚴(yán)格匹配,不會類型轉(zhuǎn)換,必須要數(shù)據(jù)類型和值完全一致 先判斷類型,如果類型不是同一類型的話直接為false; 1 對于基本數(shù)據(jù)類...
摘要:一元運算符一元運算符只能操作一個值。邏輯非邏輯非參考數(shù)據(jù)判斷邏輯非運算符可以用于任何值。無論這個值是什么數(shù)據(jù)類型,這個運算符都會返回一個布爾值。 前端學(xué)習(xí):教程&開發(fā)模塊化/規(guī)范化/工程化/優(yōu)化&工具/調(diào)試&值得關(guān)注的博客/Git&面試-前端資源匯總 歡迎提issues斧正:運算符 JavaScript-運算符 JavaScript 有一系列操作數(shù)據(jù)值的運算符,運算符按照特定運算規(guī)則對...
摘要:前言整理中一些相似的關(guān)鍵字方法概念。于是我們修改上面的函數(shù)來驗證它們的區(qū)別小明擼代碼擼代碼小紅小黑小剛小紅小黑擼代碼小李小謝小剛小李小謝擼代碼那么與有什么區(qū)別呢與和不同的是,綁定后不會立即執(zhí)行。通常用來處理一些并發(fā)的異步操作。 前言 整理 javascript 中一些相似的關(guān)鍵字、方法、概念。 1. var、function、let、const 命令的區(qū)別 使用var聲明的變量,其作...
閱讀 1075·2021-11-23 09:51
閱讀 2418·2021-09-29 09:34
閱讀 3158·2019-08-30 14:20
閱讀 1060·2019-08-29 14:14
閱讀 3188·2019-08-29 13:46
閱讀 1084·2019-08-26 13:54
閱讀 1641·2019-08-26 13:32
閱讀 1434·2019-08-26 12:23