TLDR;
उपयोग location.href
या बेहतर उपयोग window.location.href
;
हालांकि यदि आप इसे पढ़ते हैं तो आप निर्विवाद प्रमाण प्राप्त करेंगे।
यह सच है कि इसका उपयोग करना ठीक है लेकिन ऐसी चीजें क्यों करें जो संदिग्ध हैं। आपको उच्च सड़क लेनी चाहिए और बस इसे इस तरह से करना चाहिए कि यह संभवतः किया जाना चाहिए।
location = "#/mypath/otherside"
var sections = location.split('/')
यह कोड पूरी तरह से सही सिंटैक्स-वार, लॉजिक वार, टाइप-वाइज है जिसे आप जानते हैं कि केवल एक चीज ही गलत है?
इसके location
बजाय हैlocation.href
इस बारे में क्या
var mystring = location = "#/some/spa/route"
का मूल्य क्या है mystring
? क्या कोई वास्तव में कुछ परीक्षण किए बिना जानता है। कोई नहीं जानता कि वास्तव में यहाँ क्या होगा। हेल मैंने अभी यह लिखा है और मुझे नहीं पता कि यह क्या करता है। location
एक वस्तु है, लेकिन मैं एक स्ट्रिंग निर्दिष्ट कर रहा हूँ यह स्ट्रिंग को पास करेगा या स्थान ऑब्जेक्ट को पास करेगा। आइए बताते हैं कि इसको कैसे लागू किया जाना चाहिए, इसका कुछ जवाब है। क्या आप गारंटी दे सकते हैं कि सभी ब्राउज़र एक ही काम करेंगे?
यह मैं बहुत अनुमान लगा सकता हूं कि सभी ब्राउज़र एक ही संभाल लेंगे।
var mystring = location.href = "#/some/spa/route"
यदि आप इसे टाइपस्क्रिप्ट में रखते हैं तो क्या यह टूट जाएगा क्योंकि टाइप कंपाइलर कहेगा कि यह एक वस्तु है?
यह वार्तालाप location
हालांकि सिर्फ वस्तु से बहुत गहरा है । यह रूपांतरण इस बारे में है कि आप किस तरह का प्रोग्रामर बनना चाहते हैं?
यदि आप इस शॉर्ट-कट को लेते हैं, तो यह आज ठीक हो सकता है, कल यह ठीक हो सकता है, नरक यह हमेशा के लिए ठीक हो सकता है, लेकिन आप श्रीमान अब एक बुरा प्रोग्रामर हैं। यह आपके लिए ठीक नहीं होगा और यह आपको विफल कर देगा।
अधिक वस्तुएं होंगी। नया वाक्यविन्यास होगा।
आप एक ऐसे गटर को परिभाषित कर सकते हैं जो केवल एक स्ट्रिंग लेता है, लेकिन एक वस्तु लौटाता है और सबसे खराब हिस्सा यह है कि आप सोचेंगे कि आप कुछ सही कर रहे हैं, आप सोच सकते हैं कि आप इस चतुर विधि के लिए प्रतिभाशाली हैं क्योंकि यहां के लोगों ने आपको शर्मिंदा कर दिया है।
var Person.name = {first:"John":last:"Doe"}
console.log(Person.name) // "John Doe"
गेटर्स और सेटर्स के साथ यह कोड वास्तव में काम करेगा, लेकिन सिर्फ इसलिए कि यह किया जा सकता है इसका मतलब यह नहीं है कि ऐसा करने के लिए यह 'WISE' है।
ज्यादातर लोग जो प्रोग्राम को प्यार कर रहे हैं और बेहतर पाने के लिए प्यार करते हैं। पिछले कुछ वर्षों में मैंने काफी अच्छा हासिल किया है और बहुत कुछ सीखा है। सबसे महत्वपूर्ण बात जो मुझे अब पता है, खासकर जब आप लाइब्रेरी लिखते हैं तो स्थिरता और पूर्वानुमान है।
उन कामों को करें जिन्हें आप लगातार कर सकते हैं।
+"2"
<- यह यहीं पर स्ट्रिंग को एक संख्या तक पहुंचाता है। क्या आपको इसका उपयोग करना चाहिए? या आपको उपयोग करना चाहिए parseInt("2")
?
किस बारे में var num =+"2"
?
स्टैकओवरफ्लो के दिमाग से आपने जो कुछ भी सीखा है, उससे बहुत उम्मीद नहीं है।
यदि आप इन 2 शब्दों का अनुसरण सुसंगत और अनुमानित करने लगते हैं। स्टैकओवरफ़्लो पर एक टन प्रश्नों का सही उत्तर आपको पता चल जाएगा।
मुझे दिखाओ कि यह कैसे भुगतान करता है। आम तौर पर मैं ;
जावास्क्रिप्ट की हर पंक्ति पर लिखता हूं। मुझे पता है कि यह अधिक स्पष्ट है। मुझे पता है कि यह अधिक स्पष्ट है। मैंने अपने नियमों का पालन किया है। एक दिन मैंने फैसला किया कि नहीं। क्यों? क्योंकि बहुत सारे लोग मुझे बता रहे हैं कि इसकी अब कोई जरूरत नहीं है और जावास्क्रिप्ट इसके बिना कर सकता है। इसलिए मैंने ऐसा करने का फैसला किया। अब क्योंकि मैं एक प्रोग्रामर के रूप में अपने स्वयं के बारे में सुनिश्चित हो गया हूं (जैसा कि आपको किसी भाषा में महारत हासिल करने के फल का आनंद लेना चाहिए) मैंने कुछ बहुत ही सरल लिखा था और मैंने इसकी जांच नहीं की। मैंने एक अल्पविराम मिटा दिया और मुझे नहीं लगा कि मुझे एक अल्पविराम को हटाने के लिए इतनी सरल चीज़ के लिए फिर से परीक्षण करने की आवश्यकता है।
मैंने es6 और बेबेल में ऐसा ही कुछ लिखा है
var a = "hello world"
(async function(){
//do work
})()
यह कोड विफल हो गया और हमेशा के लिए इसका पता लगा लिया। किसी कारण से यह जो देखा वह था
var a = "hello world"(async function(){})()
स्रोत कोड के भीतर छिपा हुआ यह मुझे बता रहा था "हैलो वर्ल्ड" एक फ़ंक्शन नहीं है।
अधिक मज़ेदार नोड के लिए ट्रांसपोंड कोड के स्रोत नक्शे नहीं दिखाए जाते हैं।
इतना बेवकूफ समय बर्बाद किया। मैं किसी के साथ पेश कर रहा था कि ईएस 6 शानदार कैसे है और फिर मुझे डिबगिंग शुरू करनी थी और यह दिखाना था कि ईएस 6 कितना सिरदर्द मुक्त और बेहतर है। यकीन नहीं हो रहा है।
मुझे उम्मीद है इसने आपके सवाल का जवाब दे दिया है। यह एक पुराना सवाल है, यह भविष्य की पीढ़ी के लिए अधिक है, जो लोग अभी भी सीख रहे हैं।
सवाल जब लोग कहते हैं कि यह किसी भी तरह से काम नहीं करता है। संभावना एक बुद्धिमान अधिक अनुभवी व्यक्ति आपको अन्य बुद्धिमान बताएगा।
क्या होगा अगर कोई स्थान ऑब्जेक्ट को अधिलेखित करता है। वे पुराने ब्राउज़रों के लिए एक शिम करेंगे। इसमें कुछ नए फ़ीचर मिलेंगे जिन्हें शिम करने की ज़रूरत है और आपका 3 साल पुराना कोड फेल हो जाएगा।
पर विचार करने के लिए मेरा आखिरी नोट।
साफ, स्पष्ट उद्देश्यपूर्ण कोड लिखना आपके कोड के लिए कुछ ऐसा करता है जिसका उत्तर सही या गलत नहीं हो सकता। यह क्या करता है यह आपके कोड को एक एनबलर बनाता है।
आप कोड के बीच रुकावट के डर के साथ अधिक चीजें प्लगइन्स, लाइब्रेरी का उपयोग कर सकते हैं।
रिकार्ड के लिए। उपयोग
window.location.href