உள்ளூர் மற்றும் உலகளாவிய மாறிகள் இடையே உள்ள வேறுபாடு

ஒரு மாறி என்றால் என்ன?

மாறி என்பது ஒரு நிரல் கையாளக்கூடிய ஒரு சேமிப்பு பகுதிக்கு ஒதுக்கப்பட்ட பெயர். மாறியின் நினைவகத்தின் அளவு மற்றும் அமைப்பை ஒரு மாறி வகை தீர்மானிக்கிறது.

இது அந்த நினைவகத்தில் சேமிக்கப்பட வேண்டிய மதிப்புகளின் வரம்பையும், அந்த மாறியில் பயன்படுத்தக்கூடிய செயல்பாடுகளின் தன்மையையும் தீர்மானிக்கிறது.

இந்த டுடோரியலில், நீங்கள் கற்றுக்கொள்வீர்கள்

மாறிகளின் நோக்கம்

மாறியின் நோக்கம் ஒரு மாறியின் வாழ்நாள் மட்டுமே. இது ஒரு குறியீடு பொருந்தும் அல்லது உயிருடன் இருக்கும் குறியீட்டின் தொகுதி. உதாரணமாக: | _+_ |

நீங்கள் ஒரு செயல்பாட்டிற்குள் 'எக்ஸ்' மாறி 'ஃபூ' என்று அறிவிக்கிறீர்கள். அந்த மாறியின் நோக்கம் அந்த செயல்பாட்டிற்குள் உள்ளது, அதை அந்த செயல்பாட்டிற்கு வெளியே பயன்படுத்த முடியாது.

மாறிகள் நீங்கள் மாறி நிரலாக்க மொழியை அறிவிக்கக்கூடிய மூன்று இடங்கள் உள்ளன:

  • ஒரு செயல்பாடு அல்லது ஒரு தொகுதிக்குள்: உள்ளூர் மாறிகள்
  • அனைத்து செயல்பாடுகளுக்கும் வெளியே: உலகளாவிய மாறிகள்
  • செயல்பாட்டு அளவுருக்களின் வரையறையில்: முறையான அளவுருக்கள்

முக்கிய வேறுபாடு

  • ஒரு செயல்பாட்டிற்குள் உள்ளூர் மாறி அறிவிக்கப்படுகிறது, அதேசமயம் செயல்பாட்டிற்கு வெளியே உலகளாவிய மாறி அறிவிக்கப்படுகிறது.
  • செயல்பாடு மாறத் தொடங்கும் போது உள்ளூர் மாறிகள் உருவாக்கப்படுகின்றன மற்றும் செயல்பாடு முடிவடையும் போது இழக்கப்படும், மறுபுறம், உலகளாவிய மாறுபாடு செயல்படுத்தல் தொடங்குகிறது மற்றும் நிரல் முடிந்ததும் இழக்கப்படுகிறது.
  • உள்ளூர் மாறி தரவு பகிர்வை வழங்காது, அதே நேரத்தில் உலகளாவிய மாறி தரவு பகிர்தலை வழங்குகிறது.
  • உள்ளூர் மாறிகள் ஸ்டாக்கில் சேமிக்கப்படுகின்றன, அதே சமயம் உலகளாவிய மாறி தொகுப்பாளரால் தீர்மானிக்கப்படும் ஒரு நிலையான இடத்தில் சேமிக்கப்படுகிறது.
  • உள்ளூர் மாறிகளுக்கு அளவுருக்கள் கடந்து செல்லுதல் தேவை, அதேசமயம் உலகளாவிய மாறிக்கு அது தேவையில்லை

உள்ளூர் மாறி

உள்ளூர் மாறி நிரலாக்க தொகுதி அல்லது சப்ரூட்டின்களுக்குள் அறிவிக்கப்பட்ட ஒரு வகை மாறி என வரையறுக்கப்படுகிறது. இது அறிவிக்கப்பட்ட சப்ரூட்டின் அல்லது குறியீடு தொகுதிக்குள் மட்டுமே பயன்படுத்த முடியும். செயல்பாட்டின் தொகுதி செயல்படுத்தப்படும் வரை உள்ளூர் மாறி உள்ளது. அதன் பிறகு, அது தானாகவே அழிக்கப்படும்.

உள்ளூர் மாறியின் உதாரணம்

function foo(){ var x; } 

இங்கே, 'a' மற்றும் 'b' ஆகியவை உள்ளூர் மாறிகள்

உலகளாவிய மாறி

TO உலகளாவிய மாறி நிரலில் சப்ரூட்டின் அல்லது செயல்பாட்டிற்கு வெளியே வரையறுக்கப்பட்ட ஒரு மாறுபாடு உள்ளது. இது உலகளாவிய நோக்கத்தைக் கொண்டுள்ளது, இது நிரலின் வாழ்நாள் முழுவதும் அதன் மதிப்பை வைத்திருக்கிறது என்பதாகும். எனவே, நிழலில்லாமல், நிரலுக்குள் வரையறுக்கப்பட்ட எந்தவொரு செயல்பாட்டாலும் நிரல் முழுவதும் அதை அணுக முடியும்.

எடுத்துக்காட்டு: | _+_ |

இங்கே, 'a' மற்றும் 'b' ஆகியவை உலகளாவிய மாறிகள்.

உள்ளூர் மாறி Vs. உலகளாவிய மாறிகள்

உள்ளூர் மற்றும் உலகளாவிய மாறிகள் இடையே சில அடிப்படை வேறுபாடுகள் இங்கே உள்ளன.

அளவுரு உள்ளூர் உலகளாவிய
வாய்ப்புஇது ஒரு செயல்பாட்டின் உள்ளே அறிவிக்கப்படுகிறது.இது செயல்பாட்டிற்கு வெளியே அறிவிக்கப்பட்டது.
மதிப்புஇது துவக்கப்படாவிட்டால், ஒரு குப்பை மதிப்பு சேமிக்கப்படும்இது துவக்கப்படாவிட்டால் பூஜ்யம் இயல்புநிலையாக சேமிக்கப்படும்.
வாழ்நாள் முழுவதும்செயல்பாடு செயல்படத் தொடங்கும் போது இது உருவாக்கப்படுகிறது மற்றும் செயல்பாடுகள் முடிவடையும் போது இழக்கப்படுகிறது.நிரலின் உலகளாவிய செயல்படுத்தல் தொடங்குவதற்கு முன்பு இது உருவாக்கப்பட்டது மற்றும் நிரல் முடிவடையும் போது இழக்கப்படுகிறது.
தரவு பகிர்வுஉள்ளூர் மாறியின் தரவை ஒரே ஒரு செயல்பாட்டால் அணுக முடியும் என்பதால் தரவு பகிர்வு சாத்தியமில்லை.பல செயல்பாடுகள் ஒரே உலகளாவிய மாறியை அணுக முடியும் என்பதால் தரவு பகிர்வு சாத்தியமாகும்.
அளவுருக்கள்மற்ற செயல்பாடுகளில் உள்ள மதிப்பை அணுக உள்ளூர் மாறிகள் அளவுருக்கள் கடந்து செல்ல வேண்டும்நிரல் முழுவதும் காணக்கூடியதாக இருப்பதால், உலகளாவிய மாறிக்கு அளவுருக்கள் கடந்து செல்வது அவசியமில்லை
மாறி மதிப்பின் மாற்றம்உள்ளூர் மாறியின் மதிப்பு ஒரு செயல்பாட்டில் மாற்றப்படும்போது, ​​மாற்றங்கள் மற்றொரு செயல்பாட்டில் தெரிவதில்லை.உலகளாவிய மாறியின் மதிப்பு ஒரு செயல்பாட்டில் மாற்றப்படும்போது, ​​மற்ற நிரலில் மாற்றங்கள் தெரியும்.
மூலம் அணுகப்பட்டதுஉள்ளூர் மாறிகள் அறிக்கைகளின் உதவியுடன் அணுகப்படலாம், அவை அறிவிக்கப்பட்ட ஒரு செயல்பாட்டின் உள்ளே.நிரலில் உள்ள எந்தவொரு அறிக்கையின் மூலமும் நீங்கள் உலகளாவிய மாறிகளை அணுகலாம்.
நினைவக சேமிப்புகுறிப்பிடப்படாவிட்டால் அது அடுக்கில் சேமிக்கப்படும்.இது தொகுப்பாளரால் தீர்மானிக்கப்பட்ட ஒரு நிலையான இடத்தில் சேமிக்கப்படுகிறது.

உலகளாவிய மாறிகளைப் பயன்படுத்துவதன் நன்மைகள்

  • ஒரு புரோகிராமில் உள்ள அனைத்து செயல்பாடுகளிலிருந்தும் அல்லது தொகுதிகளிலிருந்தும் நீங்கள் உலகளாவிய மாறியை அணுகலாம்
  • தொகுதிகளுக்கு வெளியே நீங்கள் உலகளாவிய மாறி ஒற்றை நேரத்தை மட்டுமே அறிவிக்க வேண்டும்.
  • இது நிலைத்தன்மையை சேமிக்க உதவுகிறது, ஏனெனில் இது நிலைத்தன்மையை பராமரிக்க உதவுகிறது.
  • பல செயல்பாடுகள் ஒரே தரவை அணுகும்போது ஒரு உலகளாவிய மாறி பயனுள்ளதாக இருக்கும்.

உள்ளூர் மாறிகள் பயன்படுத்துவதன் நன்மைகள்

  • உள்ளூர் மாறிகள் பயன்பாடு பணி இயங்கும் போது மாறிகளின் மதிப்புகள் அப்படியே இருக்கும் என்பதற்கு உத்தரவாதம் அளிக்கிறது
  • பல பணிகள் ஒரே நேரத்தில் இயங்கும் ஒற்றை மாறியை மாற்றினால், முடிவு கணிக்க முடியாததாக இருக்கலாம். ஆனால் ஒவ்வொரு பணியும் உள்ளூர் மாறியின் சொந்த நிகழ்வை உருவாக்கும் என்பதால் அதை உள்ளூர் மாறி என்று அறிவிப்பது இந்த சிக்கலை தீர்க்கிறது.
  • உள்ளூர் மாறிகள் ஒரே பெயரை வெவ்வேறு செயல்பாடுகளில் கொடுக்கலாம், ஏனெனில் அவை அறிவிக்கப்பட்ட செயல்பாட்டால் மட்டுமே அங்கீகரிக்கப்படுகின்றன.
  • எந்தவொரு செயல்பாடும் முடிந்தவுடன் உள்ளூர் மாறிகள் நீக்கப்பட்டு அது ஆக்கிரமிக்கும் நினைவக இடத்தை வெளியிடுகிறது.

உலகளாவிய மாறிகள் பயன்படுத்துவதன் தீமைகள்

  • உலகளாவியதாக அறிவிக்கப்பட்ட பல மாறிகள், பின்னர் நிரல் செயல்படுத்தும் வரை அவை நினைவகத்தில் இருக்கும். இது நினைவாற்றல் பிரச்சினைக்கு காரணமாக இருக்கலாம்.
  • எந்தவொரு செயல்பாட்டாலும் தரவை மாற்றலாம். நிரலில் எழுதப்பட்ட எந்த அறிக்கையும் உலகளாவிய மாறியின் மதிப்பை மாற்றும். இது பல்பணிச் சூழல்களில் கணிக்க முடியாத முடிவுகளைத் தரக்கூடும்.
  • குறியீட்டு மறுசீரமைப்பு காரணமாக உலகளாவிய மாறிகள் நிறுத்தப்பட்டால், அவை அழைக்கப்படும் அனைத்து தொகுதிகளையும் நீங்கள் மாற்ற வேண்டும்.

உள்ளூர் மாறிகள் பயன்படுத்துவதன் தீமைகள்

  • உள்ளூர் மாறியின் பிழைத்திருத்த செயல்முறை மிகவும் தந்திரமானது.
  • தொகுதிகள் இடையே தரவு பகிர்வு சாத்தியமற்றது என்பதால் பொதுவான தரவு மீண்டும் மீண்டும் அனுப்பப்பட வேண்டும்.
  • அவர்களுக்கு மிகவும் வரையறுக்கப்பட்ட நோக்கம் உள்ளது.

எது மிகவும் பயனுள்ளது?

எந்தவொரு மொழியிலும் ஒரு நிரலை எழுதும் போது உள்ளூர் மற்றும் உலகளாவிய மாறி சமமாக முக்கியம். எவ்வாறாயினும், உலகளாவிய மாறியின் ஒரு பெரிய எண் ஒரு பெரிய நினைவகத்தை ஆக்கிரமிக்கலாம். உலகளாவிய மாறிகளில் ஒரு விரும்பத்தகாத மாற்றம் அடையாளம் காண கடினமாக உள்ளது. எனவே, தேவையற்ற உலகளாவிய மாறிகளை அறிவிப்பதைத் தவிர்ப்பது நல்லது.