utils.parseColor = function (color, toNumber) {
if (toNumber === true) {
if (typeof color === 'number') {
return (color | 0); //chop off decimal
}
if (typeof color === 'string' && color[0] === '#') {
color = color.slice(1);
}
return window.parseInt(color, 16);
} else {
if (typeof color === 'number') {
//make sure our hexadecimal number is padded out
color = '#' + ('00000' + (color | 0).toString(16)).substr(-6);
}
return color;
}
};
अरे दोस्तों, मुझे कोड का यह टुकड़ा मिलता है। यह जावास्क्रिप्ट में एक उपयोगिता कार्य है जो संख्याओं और तारों के बीच रंगों को आगे और पीछे परिवर्तित करेगा। ऐसे 2 भाग हैं जिनके बारे में मुझे यकीन नहीं है,जावास्क्रिप्ट - कनवर्टिंग रंग (संख्याएं -> तार) इसके विपरीत
पहला, return (color|0);
का क्या अर्थ है? |
क्या है? जावास्क्रिप्ट में?
दूसरे, लाइन
color = '#' + ('00000' + (color | 0).toString(16)).substr(-6);
क्यों मुझे यकीन है कि हेक्साडेसिमल संख्या बाहर गद्देदार है बनाने के लिए की जरूरत है में? हम यहां हासिल करने की क्या कोशिश कर रहे हैं?
utils.parseColor(0xFFFF00)
की तरह एक हेक्साडेसिमल संख्या के साथ समारोह कॉलिंग, रिटर्न स्ट्रिंग मूल्य: "#ffff00"
। एक सीएसएस-शैली हेक्साडेसिमल स्ट्रिंग पास करने से एक ही स्ट्रिंग को असम्बद्ध किया जाता है। फ़ंक्शन भी एक दूसरा, वैकल्पिक, पैरामीटर toNumber
स्वीकार करता है, जो true
पर सेट होता है, तो एक संख्यात्मक रंग मान देता है। उदाहरण के लिए, utils.parseColor("#FFFF00", true)
या utils.parseColor(0xFFFF00, true)
पर कॉल करना, दोनों 16776960
नंबर लौटाएं।
धन्यवाद, वेन।
यह उत्तर! अच्छी तरह से किया Tikhon! –