javascriptの中で対象について数字の値のいくつかの特徴を転換します.

1091 ワード

以下は「Javascript高級プログラム設計第三版」の一節です.
は、オブジェクトの数値変換に関するルールです.
オブジェクトに適用する場合は、まずオブジェクトのvalueOf()メソッドを呼び出して、動作可能な値を取得します.その後、その値に上記の規則を適用します.NaNの場合は、tostring()メソッドを呼び出してから、前述の規則を適用します.
 
上記の説明により、オブジェクトをデジタル値に変換する必要がある場合には、まずvalueOfメソッドを呼び出し、NaNに戻ると、オブジェクトのtostring方法を呼び出すことを知っています.
だから次のテストコードを書きました.
var a={
	valueOf:function(){
		return "admin";
	},
	toString:function(){
		return "2";
	}
}

var b={
	toString:function(){
		return "2";
	}
}

var c={
	valueOf:function(){
		return "4";
	}
}

console.log(+a); // print NaN
console.log(+b); // print 2
console.log(+c); // print 4
テストにより、valueOfとtostring方法が同時に存在する場合、valueOfの戻り値だけを押してデジタル値を変換し、tostring方法でも数字に戻れます.結果もNaNです.
を選択します.
Google Chrome
31.0.1650.63 (正式バージョン 238485) m
オペレーティングシステム
Windows 
Blink
537.36(@163124)
JavaScript
V 8 3.1.18.13
 
これはchromeの改善ですか?それとも何ですか?特に記録して、他の人に参考しやすいです.