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