2012-04-27 19 views
6

according to MDN का प्रतिनिधित्व जब एकल प्लस ऑपरेटर का उपयोग पर लागू:व्यवहार एक स्ट्रिंग, एक नकारात्मक हेक्स

दोनों दशमलव हेक्सादशमलव में

पूर्णांकों ("0x" -prefixed) स्वरूपों समर्थित हैं। नकारात्मक संख्या समर्थित हैं (हालांकि हेक्स के लिए नहीं)। यदि यह किसी विशेष मान को पार्स नहीं कर सकता है, तो यह NaN का मूल्यांकन करेगा।

लेकिन जब मैं इस जैस्मीन परीक्षण चलाने (toBe() मिलान एक === ऑपरेटर लागू होता है):

it("should return NaN when trying to convert a string representing a NEGATIVE HEX to the corresponding number", function() { 
    var a = '-0xFF';   
    expect(typeof +a).toBe('number'); 
    expect(isNaN(+a)).toBeTruthy(); //Fails on Chrome and Opera... 
    }); 

यह क्रोम और ओपेरा पर विफल रहता है (और IE, सफारी और फ़ायरफ़ॉक्स में गुजरता है)।

क्या यह क्रोम और ओपेरा के इंजन में एक दोष है या क्या मुझे कुछ याद आ रही है?

उत्तर

2

यह विनिर्देशों से जुड़ा हुआ है, इस पर निर्भर करता है कि यह दोष के रूप में देखा जा सकता है या नहीं।)

मुझे इस व्यवहार के संबंध में interesting discussion मिला है। ऐसा लगता है कि फ़ायरफ़ॉक्स एक बार 'बेहतर-से-spec' शिविर में था, लेकिन फिर इसे spec के अनुसार तय किया गया। लेकिन नहीं नकारात्मक हेक्स संख्या -

संबंधित मुद्दे