यह पूरी तरह से सुरक्षित है।
(RobG बताते हैं, मैं डोम/जे एस पुल नियमों के लिए एक संदर्भ के लिए खुद को उपलब्ध नहीं करा दिया है और वह सावधानी FWIW का आग्रह, मेरा मानना है कि -। लेकिन कोई संदर्भ के लिए अंतिम तौर राज्य है - कि ToInteger
है इंटरफ़ेस पुल का हिस्सा। यहां एक jsfiddle है जो एक स्ट्रिंग, एक फ्लोट, और एक अभिन्न (जेएस में फ्लोट के समान प्रकार) के रूप में पारित होने वाला टाइमआउट दिखा रहा है जो एफएफ 8 और आईई 9 में ठीक काम करता है। फीडबैक स्वागत है।)
क्योंकि setTimeout/setInterval
में देरी के लिए - yup, इन्हें डीओएम में परिभाषित किया गया है, ईसीएमएस्क्रिप्ट में नहीं। विलंब मान उचित रूप से एक अभिन्न मूल्य में परिवर्तित किया जाता है (और इस पहलू में [जेएस-आंतरिक] ToInteger
फ़ंक्शन को लागू किया जाता है जो एक छिड़काव *) करता है।
हालांकि, उदाहरण संख्या वास्तव में निकलेगा थोड़ा अलग परिणाम (हालांकि यह उल्लेखनीय नहीं हो सकता है) :-)
इसका कारण यह है 50/3
(16.66andsomemore
->16
) जाता है और 17
अलग समय समाप्ति निर्दिष्ट ।
हैप्पी कोडिंग।
* ToInteger
sign(number) * floor(abs(number))
के रूप में परिभाषित किया गया है, विशेष मामलों को छोड़कर। 5 वें संस्करण ईसीएमएस्क्रिप्ट विनिर्देश के खंड 9.4 देखें।
स्रोत
2011-12-12 01:27:35
जिस तरह से परिभाषित किया गया है, दूसरा तर्क "मिलीसेकंड की संख्या" है। अब, अगर वह संख्या प्राकृतिक होनी चाहिए तो परिभाषित नहीं किया गया है ... –
@ ŠimeVidas यह पूरी तरह से परिभाषित है। डीओएम विनिर्देश देखें ;-) –