جاوا اسکرپٹ فنکشن کی وضاحت نہیں کی گئی خرابی (لیکن اس کی وضاحت کی گئی ہے)

Jawa Askrp Fnkshn Ky Wdaht N Y Ky Gyy Khraby Lykn As Ky Wdaht Ky Gyy



جاوا اسکرپٹ میں، ' فنکشن کی وضاحت نہیں کی گئی ہے۔ ” ایک عام غلطی ہے جو اس وقت ہوتی ہے جب پروگرام کسی ایسے فنکشن کو استعمال کرنے کی کوشش کرتا ہے جس کا موجودہ دائرہ کار میں اعلان یا وضاحت نہیں کی گئی ہے۔ یہ ایرر میسج مبہم ہوسکتا ہے کیونکہ بعض اوقات فنکشن کو کوڈ میں اصل میں بیان کیا جاتا ہے، لیکن اس کے نتیجے میں پھر بھی غلطی ہوتی ہے۔

یہ مضمون JavaScript کی وضاحت کرے گا 'فنکشن ناٹ ڈیفائنڈ ایرر' کی وضاحت کرتے وقت۔

جاوا اسکرپٹ فنکشن کی وضاحت نہیں کی گئی خرابی (لیکن اس کی وضاحت کی گئی ہے)

بعض اوقات، فنکشن کوڈ میں بیان کیا جاتا ہے، لیکن پھر بھی، آپ کو درج ذیل خرابی کا سامنا کرنا پڑ سکتا ہے۔









فنکشن کو متعین کرنے کے بعد مذکورہ بالا خرابی کی دو اہم وجوہات ہیں، جو ذیل میں درج ہیں۔



وجہ 1: فنکشن کی ہجے غلط ہے یا غلط کیپیٹلائزیشن ہے۔

بعض اوقات، فنکشن کو غلط املا کے ساتھ بلایا جاتا ہے۔ چونکہ جاوا اسکرپٹ ایک کیس حساس زبان ہے، اس لیے جاوا اسکرپٹ مترجم اسے تلاش نہیں کر سکا اور ' فنکشن کی وضاحت نہیں کی گئی ہے۔ 'غلطی.





مثال

سب سے پہلے، ہم ایک فنکشن کی وضاحت کریں گے ' سمم 'جو دو نمبروں کا مجموعہ لوٹاتا ہے' a 'اور' ب ”:

فنکشن سمم ( a، b ) {

واپسی a + ب ;

}

فنکشن کو کال کریں ' سمم 'جیسے' رقم 'نمبر پاس کرکے' 4 'اور' 7 ”:



تسلی. لاگ ( رقم ( 4 ، 7 ) )

یہ ایک غلطی پھینک دے گا ' رقم کی وضاحت نہیں کی گئی ہے۔ ”:

اسے کیسے ٹھیک کریں؟

اس خرابی کو ٹھیک کرنے کے لیے، یقینی بنائیں کہ فنکشن کا نام صحیح طریقے سے لکھا گیا ہے اور اس کی صحیح کیپیٹلائزیشن ہے:

تسلی. لاگ ( سمم ( 4 ، 7 ) ) ;

اب، فنکشن ' سمم 'کامیابی سے کال کی گئی ہے اور دو نمبروں کا مجموعہ پرنٹ کریں' 4 'اور' 7 ”:

وجہ 2: فنکشن کو ایک مختلف دائرہ کار میں بیان کیا گیا ہے۔

JavaScript میں، ہر فنکشن کا اپنا دائرہ کار ہوتا ہے، اور ایک فنکشن صرف متغیرات اور فنکشنز تک رسائی حاصل کر سکتا ہے جو اس کے اپنے دائرہ کار میں بیان کیے گئے ہیں۔ اگر کسی فنکشن کی وضاحت مختلف دائرہ کار میں کی گئی ہے، تو ہو سکتا ہے یہ موجودہ دائرہ کار تک قابل رسائی نہ ہو، جس کے نتیجے میں ' فنکشن کی وضاحت نہیں کی گئی ہے۔ 'غلطی.

مثال

ایک فنکشن کی وضاحت کریں ' رقم () 'دو پیرامیٹرز کے ساتھ' a 'اور' ب 'فنکشن کے اندر' پرنٹ کریں() ”:

فنکشن پرنٹ ( ) {

فنکشن کا مجموعہ ( a، b ) {

تسلی. لاگ ( a + ب ) ;

}

}

فنکشن کو کال کریں ' رقم () ”:

رقم ( 5 ، 10 ) ;

یہ ایک غلطی پیش کرتا ہے کیونکہ sum() کی تعریف پرنٹ() فنکشن کے اندر کی گئی ہے لیکن دائرہ کار سے باہر تک رسائی حاصل کی گئی ہے۔

اسے کیسے ٹھیک کریں؟

یقینی بنائیں کہ فنکشن مناسب دائرہ کار میں بیان کیا گیا ہے اور جہاں سے اسے بلایا جا رہا ہے وہاں سے اس تک رسائی حاصل کی جا سکتی ہے۔ مثال کے طور پر، اگر فنکشن کو کسی دوسرے فنکشن کے اندر بیان کیا گیا ہے، تو یہ باہر سے قابل رسائی نہیں ہوسکتا ہے۔

sum() کو پرنٹ() فنکشن کے اندر ڈیفائن کرنے کے بعد کال کریں:

فنکشن پرنٹ ( ) {

فنکشن کا مجموعہ ( a، b ) {

تسلی. لاگ ( a + ب ) ;

}

رقم ( 1 ، 4 ) ;

}

پرنٹ () طریقہ کو کال کریں:

پرنٹ کریں ( ) ;

آؤٹ پٹ

یا آپ فنکشن کی الگ سے تعریف بھی کر سکتے ہیں اور اسے کسی اور فنکشن کے دائرہ کار میں اس طرح کال کر سکتے ہیں:

فنکشن کا مجموعہ ( a، b ) {

تسلی. لاگ ( a + ب ) ;

}

یہاں، ہم sum() کو print() فنکشن کے اندر کال کریں گے۔

فنکشن پرنٹ ( ) {

رقم ( 5 ، 10 ) ;

}

فنکشن کو انجام دینے کے لئے پرنٹ () طریقہ کو کال کریں ' رقم () ”:

پرنٹ کریں ( ) ;

دو نمبروں کا مجموعہ ' 5 'اور' 10 ' دکھایا گیا ہے:

ہم نے جاوا اسکرپٹ کی وجوہات اور حل پر تبادلہ خیال کیا ہے۔ فنکشن کی وضاحت نہیں کی گئی غلطی (لیکن اس کی تعریف کی گئی ہے)۔

نتیجہ

اس کی دو بنیادی وجوہات ہیں کہ ' فنکشن کی وضاحت نہیں کی گئی ہے۔ فنکشن کی وضاحت کرنے کے بعد غلطی ہوتی ہے، جیسے ' فنکشن کی ہجے غلط ہے یا غلط کیپیٹلائزیشن ہے۔ ' یا پھر ' فنکشن کو ایک مختلف دائرہ کار میں بیان کیا گیا ہے۔ ' اس مضمون میں JavaScript کی وجوہات اور حل کی وضاحت کی گئی ہے 'فنکشن ناٹ ڈیفائنڈ ایرر' (لیکن اس کی وضاحت کی گئی ہے)۔