2016-05-11 11 views
8

जब मैं चलाने var name = 'jose' !== ''; मेरे कंसोल में, यह रिटर्न "true"var name = 'jose' क्यों होता है! == ''; वापस "सच" और सच नहीं?

यह "true" स्ट्रिंग के रूप और नहीं true एक बूलियन के रूप में क्यों वापसी करता है?

मैंने इसे एक अलग चर नाम से आजमाया और यह एक बूलियन लौटाता है। i.e .: var bobby = 'bob' !== '';

उत्तर

7

क्योंकि namewindow.name है। एक विशेष चर जो हमेशा एक स्ट्रिंग है। इसे किसी भी खाली ब्राउज़र के कंसोल में टाइप करें और आपको "" मिल जाएगा।

आप अपने बयान में अपना मूल्य पुन: असाइन कर रहे हैं।

https://developer.mozilla.org/en-US/docs/Web/API/Window/name

+0

क्या बॉबी के बारे में ऊपर के उदाहरण में? – guradio

+1

@guradio 'var bobby' एक अलग चर नाम है, इसलिए यह स्ट्रिंग में नहीं है। – Jerry

+0

कोई 'window.bobby' नहीं है। – ryanpcmcquen

0

चर name यह window.name है, जो खिड़की का नाम है संदर्भित करता है।

भी चर document

window.name, window.document [जा रहा है window.name है, जो एक स्ट्रिंग है से वर नाम नहीं बदल सकते]

डॉन वैश्विक चर के रूप में नाम का उपयोग नहीं करते हैं।

जैसे

var name = {Name : "dd"}; 
console.log(name.Name);//Since it's a primitive won't work 
संबंधित मुद्दे