[موسیقی بجانے] 

DAVID MALAN: یہ CS50 ہے. اس ہفتے نو کا آغاز ہے. اور اس پڑے گا کیا ہے مسٹر Boole کی کے 200th سالگرہ. تو اس کے ساتھیوں ہے ہم اشارہ ہے جن سے استعمال کرنے کے بارے میں بہت کچھ اوقات سچ اور جھوٹ بولین متغیر، 1 اور 0 اور اس طرح. یہ گوگل کی تھی آج اس کو خراج تحسین پیش. انہوں نے کہا کہ 200 تبدیل کر دیا ہوتا. اگر آپ چاہیں تو پس CS50 دوپہر کے کھانے کے لئے ہمارے ساتھ شامل، لنک پر ایک نظر ڈالیں کورس کی ویب سائٹ پر. اور اس طرح کے چہرے اور دوستوں کے طور پر یہ یہاں کیمبرج میں آپ کا انتظار. اس طرح کے چہرے نیو ہیون میں آپ کا انتظار. اور، میں کین، حقیقت میں نیو ہیون حسن معاشرت اور اچھا بنایا عیلی کے ایک متحرک GIF کہا جاتا ہے یہاں ایک حالیہ میں ایک GIF ابھی تک ہے lunch-- دوسرے تصویری فائل کی شکل، جس کے ساتھ آپ کہ واقف ہو اس طرح کچھ لگتا. تو صرف ایک ہی تسلسل ٹھیک of--. کیمبرج میں یہاں کوئی ہںس رہا ہے. لیکن نیو ہیون میں، اس صحیح، واقعی مضحکہ خیز ہے؟ بالکل ٹھیک. 

تو وہاں ہمارے ساتھ شامل ہو. یہاں ہارورڈ میں، خاص طور پر، اس بدھ، آپ ایک sophomore ہیں تو یا افزائش even-- بنانے کے یا اس سے بھی junior-- سوچ کمپیوٹر میں ایک سوئچ سائنس، معلوم ہے گے کہ ایک کاوچ سرفنگ کے اس میلے مشورہ کیا بدھ، جلد ہی کلاس کے بعد کمپیوٹر میں 4:00 بجے سائنس عمارت میکسویل Dworkin. ہم کورس کی پر اس ڈال دیں گے کل طرف سے ویب سائٹ، کے ساتھ ساتھ. ڈونٹس، مجھے بتایا گیا، خدمت کی جائے گی. 

بالکل ٹھیک. میں poking ہے تھا تو مضحکہ خیز story-- کے ارد گرد انٹرنیٹ پر، اور میں نے کچھ پرانی ابلیھاگاروں پایا اپنے سابق ویب سائٹ کے. اور یہ اس کے ارد گرد out-- دیتا وقت، یہ بہت بروقت لگتا ہے میں یوسی انتخابات جمع کے بعد دوبارہ گیئر کے بارے میں ہیں. تو میں نے، یوسی کے لئے بھاگ گیا بری طرح کھو. اور شاید یہی وجہ ہے کہ حصہ میں تھا. تو اس وقت میری ویب سائٹ تھی. کسی وجہ سے، میں نے سوچا تھا لوگوں کو بتانے سے پہلے ایک اچھا خیال ہے، میرے پلیٹ فارم تھا اور کیوں وہ وہ ہے کہ، میرے لئے ووٹ ڈالنا چاہیے کہ باہر تلاش کرنے کے لئے داخل کرنے کے لئے کلک کرنے کے لئے ماضی میں ہے جس کے بارے میں معلومات، عجیب کی طرح. مجھے سچ میں تھا کیا نہیں جانتے. 

لیکن یہ یقینی طور پر نہیں کیا اپنی مہم کی مدد. میں نے بھی سینئر کی طرف سے پتہ چلا ہے کہ year-- میں اس کوائف کیلنڈر تھا. میں Muppets اس وقت مقبول قسم کے تھے. یا شاید وہ نہیں تھے. میں واپس آ گیا تو ایک کوائف کیلنڈر تھا. اور میں اس کے نام کے ساتھ ٹھنڈا ہو جائے سوچا تھا ہارورڈ یونیورسٹی کے نیٹ ورک پر اپنے کمپیوٹر frogman.student.harvard.edu. وقت، ہم سب منفرد تھا شناخت میزبان نام. اور آپ کو کچھ باطل کا انتخاب کر سکتے اس کے بجائے آپ اپنے نام کے نام. اور میں کسی وجہ سے frogman کے ساتھ چلا گیا. 

اور پھر میں نے ایک بہت خرچ started-- وقت کے ان لنکس کے ذریعے پر کلک آج صبح. اور یہ میرے بارے میں صفحہ تھا جو اب قسم کی پیارا لگتا ہے. لیکن یہ بھی صرف کی گواہی دیتا ہے کس حد تک ٹیکنالوجی آ گیا ہے. میں، دن میں واپس، کا مطلب ایک 486 کچھ تھا. ان دنوں، یہ سپر، سپر ہے، سپر سست اور اچھی طرح سے کم تم میں ہو سکتا ہے کے مقابلے میں آپ اپنی جیب میں ان دنوں. وہاں اس پر زیادہ نہیں ہے اس سے بھی زیادہ شرمناک تھا. تو میں نے اسے اس کو چھوڑ دیں گے. لیکن وہ میری سب سے پہلے تھا داوا web-- میں اوہ، نہیں. کہ نہیں تھا. ویب پروگرامنگ میں میری پہلی حقیقی داوا میں تو بھول ہی گیا ہے جس میں اس ویب سائٹ، تھا. کچھ وقت، میں نے سیکھا کہ کس طرح بار بار پس منظر کی تصاویر بنانے کے. اور اس طرح میں، اس ٹائلیں لگانے مؤثر پایا ہاکی کھلاڑی، فٹ بال، اور گولف کی طرح گیند، یا جو کچھ بھی ہے IMS Frosh کے ویب سائٹ کے لئے. یہ حقیقی طور پر، اصل میں تھا پہلی ویب کی بنیاد پر منصوبے میں on-- لیا میں شاید کے sophomore لگتا سال، جونیئر year-- CS50 اور CS51، ایک لینے کے بعد عام پیروی پر کلاسوں کے. میں دیکھ میں نے محسوس کیا ابلیھاگاروں کے ذریعے کہ میرے جانشینوں میں سے ایک اور دوستوں، لی، قسم کی تبدیل کر دیا گیا اپنے آپ کو کاپی رائٹ. لیکن یہ واقعی کچھ تھا کہ میں شرمندگی کے مالک چاہئے. لیکن اس وقت، اس پہلی ویب سائٹ، تھا میں نے چند ہفتے پہلے کہا کے طور پر، جس افزائش کر سکتے کی طرف سے یہاں intramural کھیلوں کے لئے رجسٹر. اور اس طرح یہ باہر کر دیتا ہے کہ پس منظر کی تصاویر اس طرح اس طرح ایک اچھا خیال نہیں ہے. لیکن ویب نئی تھی، اور ہم سب استعمال کر رہے تھے. اور یہ کیا ہے میں بظاہر وقت تھا. بالکل ٹھیک. تو مزید ado کے بغیر، ہم سوئچ واقعی، آپ کو دینا آج گیئرز، آپ کو مل سکتا ہے کہ آخری ٹکڑا آخری منصوبوں کے لئے خاص طور پر مفید بلکہ اس کے لئے شروع ہو جائے گا ساری دنیا وائڈ ویب بنانے تھوڑا سا زیادہ قابل فہم محسوس. بے شک، ہم کو متعارف کرانے جا رہے ہیں ایک پروگرامنگ زبان اسی طرح کی ہے کہ کہا جاتا جاوا اور مختلف طریقوں سے مختلف زبانوں میں سے ہم نے ابھی تک میں دیکھا ہے. 

لہذا سی، یاد، اس مرتب زبان ہے. آپ کو ایک سنکلک کے ذریعے چلانے کے لئے مل گیا ہے. آپ کو اعتراض کرنے کے لئے منبع کوڈ حاصل کوڈ، یا zeroes اور ہیں. اور وہ zeroes اور ہیں کہ اپنے CPU، سنٹرل پروسیسنگ یونٹ، اصل میں سمجھ. پی ایچ پی، کے برعکس کی طرف، نہیں ہے ایک مرتب زبان. ایک کیا ہے؟ یہ ایک تشریح زبان ہے. تو کچھ پروگرام ہے ایک مترجم کہ ملاقات کرنے کے لئے اندازہ لگانے والے سب کو پڑھنے کے لئے ہے نیچے، دائیں کرنے کے لئے چھوڑ دیا اور کیا پتہ آپ نحو ہے اور مطلب، یہ ایک لوپ یا ایک شرط ہے کہ آیا یا پروگرامنگ کی کسی بھی دوسرے نمبر تعمیر. تو ہے کہ ایک تشریح زبان ہے. 

پھر ہم ایچ ٹی ایم ایل متعارف کرایا. اور HTML بھی نہیں ہے پروگرامنگ زبان. ہم اسے کیا کہتے ہو؟ صرف ہے جس میں ایک مارکاپ زبان، یہ کہہ کے پسند طریقہ کی ایک قسم طرح پروگرامنگ کی تعمیر نہیں ہے ہم بھی واپس سکریچ کے دن میں نے دیکھا. کوئی loops کے ہیں. کوئی شرائط ہیں. یہ واقعی میں ایک زبان ہے آپ کے اعداد و شمار کی مارکنگ کے بارے میں اور یہ فارمیٹنگ یا کسی طرح میں اس structuring کے. 

سی ایس ایس، اس دوران، اسی طرح نہیں ایک پروگرامنگ زبان. اس سے بھی زیادہ جمالیاتی اعتبار سے مبنی ہے. اور یہ آپ کو فائن ٹیون کے کرنے کی اجازت دیتا فونٹ سائز اور رنگ کی طرح چیزوں جگہ کا تعین کرنے اور اس کے سب اور. پھر ہم نے 

ایس کیو ایل. تو ایس کیو ایل واقعی ایک پروگرامنگ ہے کچھ معنوں میں زبان، سہی موزوں خاص طور پر ڈیٹا بیس کے لئے. لیکن ہم صرف کرنے کے لئے آپ کو متعارف کرانے، اگرچہ کو منتخب کریں اور داخل اور خارج کر دیں اور اپ ڈیٹ اور دوسروں کے ایک جوڑے، آپ اصل میں کر سکتے ہیں باہر کر دیتا ہے افعال کو لکھ یا وہ کر رہے ہیں کے طور پر طریقہ کار، نظر آتے ہیں کہ ایس کیو ایل اور ایکٹ میں، کہا جاتا کافی پی ایچ پی اور سی افعال کی طرح. لہذا ان موجود ہیں جانتے ہیں کہ. لیکن ہم بھی ان کے ساتھ کی زحمت نہیں کرتے ہم صرف یہاں سطح فیرنا کے طور پر. اور پھر جاوا اسکرپٹ کا آخری ہماری زبانوں باضابطہ متعارف کرایا. جاوا تو بھی، ہے ایک تشریح زبان. اور ان لوگوں کو واقف، کرتے آپ اس تمیز کرنے کے لئے چاہتے ہیں کچھ خصوصیت کے ساتھ سی اور پی ایچ پی کی دونوں کی طرف سے؟ کیا یہ مختلف بناتا ہے؟ 

سامعین: یہ مرتب نہیں ہے. 

DAVID MALAN: پھر سے کہو؟ 

سامعین: یہ مرتب نہیں ہے. 

DAVID MALAN: یہ مرتب نہیں ہے. تو یہ، بھی، تشریح کی ہے. تو یہ مرتب نہیں ہے. لیکن یہ پی ایچ پی کی طرح تھوڑا سا ہے. لیکن یہ اب بھی سے مختلف ہے کچھ ذکر راستہ میں پی ایچ پی، راستے میں کم سے کم ہم اسے استعمال کریں گے. جی ہاں؟ 

سامعین: یہ کلائنٹ سائڈ چلتا ہے. 

DAVID MALAN: یہ چلتا ہے کلائنٹ سائڈ، عام طور پر. یہی امتیازات ہے اب ہمارے لئے خصوصیت. سی معنوں میں سرور سائیڈ تھا ہم CS50 IDE میں سب کچھ کیا ہے کہ. پی ایچ پی کی اس طرح اب تک کیا گیا ہے سرور سائیڈ insofar کے اس کے طور پر، بھی، interpreted-- ہو جاتا ہے نہیں مرتب، لیکن interpreted-- کورس کی ہے جس میں CS50 IDE، اندر بادل میں صرف ایک سرور یا سرورز. 

لیکن جاوا سکرپٹ، یہاں تک کہ آپ اگرچہ تم جا رہے ہو pset کے، کا کہنا ہے کہ، کے لئے یہ لکھنا شروع کرنے کے لئے آٹھ اور تم projects-- شاید آخری میں اس کو درست کرنے جا CS50 IDE، اور اس کو بچانے کے CS50 IDE، CS50 IDE کے اندر اندر فائلوں میں اور، کے نتیجے میں، بادل سرورز اس کی میزبانی کی ہے جس پر، نہیں کر رہے ہیں تشریح کریں یا آپ کے کوڈ پر عمل کرنے. بلکہ، اس میں بھیجا جا رہا ہے براؤزر کے نیچے تبدیلی کیے بغیر فارم. اور یہ پھر IE ہونے جا رہا ہے کروم یا فائر فاکس یا سفاری یا یا یہ کہ اصل میں تعبیر جو بھی یہ اوپر سے نیچے، بائیں سے دائیں. اہم امتیازات تو آج کے لئے خصوصیت جاوا کلائنٹ سائڈ ہے اور پی ایچ پی، مثال کے طور پر، کیا سرور سائیڈ ہے. اب، اس دلچسپ اثر پڑتا ہے ، کی طرح، دانشورانہ املاک کے لئے اور جو اصل میں آپ کے کوڈ کو دیکھنے کے کر سکتے ہیں. اور بے شک، آپ جا سکتے ہیں اور ویب پر سب سے زیادہ دیکھیں کسی ہے کہ کسی بھی کوڈ جاوا اسکرپٹ میں لکھا. کبھی کبھی یہ، پڑھنے کے قابل ہے کبھی کبھی یہ جو obfuscated ہے. لیکن کی وجہ سے وقت میں اس پر مزید. 

جاوا تو، اچھی طرح سے کافی، ہے سپر اسی طرح، syntactically ہے، سی اور پی ایچ پی کی طرح زیادہ سے زیادہ، کوئی اہم تقریب ہے. آپ کو تحریری شروع کرنا چاہتے ہیں جاوا سکرپٹ کے کوڈ، آج آپ دیکھیں گے کے طور، آپ کو صرف یہ لکھنا شروع. لیکن یہ خاص طور پر، آپ دیکھیں گے، ہے ویب براؤزرز کے تناظر میں مفید. تاہم، میرے چھوٹے عام طور پر earlier-- disclaimer-- آپ کو تیزی سے کر سکتے ہیں کا کہنا ہے کہ کرنے کے لئے تھا آج استعمال جاوا سرور سائیڈ Node.js نامی ایک فریم ورک کا استعمال کرتے ہوئے پسند CS50 کی اپنی ایپلی کیشنز میں سے کچھ میں لکھے جاتے ہیں. اصل Node.js. استعمال کرتا 50 کی جانچ پڑتال کریں لیکن ہم پر توجہ مرکوز کرنے جا رہے ہیں باہر پر جاوا کلائنٹ سائڈ. 

تو یہاں پی ایچ پی میں حالات کی ایک سیٹ ہے. معذرت، اصل in--، کہ بیان، بہت درست ہے. یہاں بھی کی ایک سیٹ ہے جاوا اسکرپٹ میں حالات. syntactically ہے، یہ ہے C کرنے کے لئے اور پی ایچ پی کے لئے ایک جیسی. مسٹر Boole کی اظہار، ہیں اسی طرح، syntactically ہے سی اور پی ایچ پی کی دونوں کے لئے ایک جیسی. ہم نے بھی میں سوئچ جیسی نظر آتے ہیں کہ جاوا اسکرپٹ. ہم ہیں کہ loops کے لئے ہے شناختی ڈھانچہ، جبکہ loops، جبکہ loops کرتے. 

یہ ایک تھوڑا مختلف ہے. پی ایچ پی کی ہر تعمیر کے لئے تھا آپ استعمال ہو سکتا ہے یا شاید، pset کے سات میں استعمال کریں گے. جاوا سکرپٹ اس کا خصوصی ورژن ہے کے لئے آپ کو لفظی کچھ کہنا ہے کہ جہاں اعتراض میں متغیر اہم، کے لئے کی طرح ہے جس میں کہہ کا ایک بہت succinct راستے ہے، میں ایک object-- ہے اور ہے تو ہم کریں گے ایک لمحے میں ایک بار پھر ان کے بارے میں بات اور میں تمام iterate کرنا چاہتے ہیں اندر کلیدی قدر جوڑوں کی، میں کس طرح پتہ کرنے کی ضرورت نہیں صفر، ایک کے ساتھ عددی طور پر انڈیکس ان، دو، تین. 

میں لفظی یہ کہہ سکتے ہیں. اور ہر iteration، جاوا سکرپٹ مجھے متغیر اہم تازہ کاری کریں گے کے لئے تو سب سے پہلے اہم، اگلے اہم ہونا، پھر اگلے اہم، پھر اگلے اہم، علی هذا القیاس. اور میں علاج کی طرف سے اس کی قیمت میں حاصل کر سکتے ہیں جاوا اسکرپٹ میں کسی چیز کو، کے طور پر ہم، دیکھ لیں گے یہ ایک ہے اگرچہ کے طور پر پی ایچ پی میں ساہچری سرنی. بے شک، آپ کو آخر میں لپیٹ اگر آپ ایک ساہچری سرنی ہے کے ارد گرد اعتراض پی ایچ پی میں، آپ کو اب تک کے لئے اس کے بارے میں سوچ کر سکتے ہیں جاوا اسکرپٹ میں کسی چیز کے لئے ایک جیسی. لیکن اس کا ایک تھوڑا سا ہے ایک oversimplification. 

لڑیوں اچھی طرح کافی،، جیسی نظر آتے ہیں ایک کردار کے علاوہ پی ایچ پی. یہاں لاپتہ ایک ہی چیز ہے ہم پی ایچ پی کے ساتھ گزشتہ ہفتے دیکھا کہ. کیا لپ ہے؟ جی ہاں؟ کوئی ڈالر کا نشان. تو ہم نے ایک کو واپس آ گئے زیادہ عام دنیا جہاں متغیر ڈالر علامات نہیں ہے. لیکن آپ کو ان سابقہ ​​کرتے عام طور پر متغیر، کے ساتھ. اور متغیر متغیر کا مطلب. اور پی ایچ پی کی طرح بہت شتل ہے قسمیں ہیں جس typed--، نمبرز اور ڈور ہیں اور floats اور وغیرہ جاوا اسکرپٹ اسی طرح اقسام ہیں. لیکن یہ شتل میں اس میں ٹائپ ہے کہ ہم پروگرامرز ان کی وضاحت کرنے کی ضرورت نہیں. ہم صرف اس بات سے آگاہ ہونا ضروری ہے کہ مختلف اقسام موجود ہیں. 

متغیر، meanwhile-- طریقہ یہاں ہے ہم "ہیلو، دنیا" کا اعلان ہو سکتا ہے ایک تار کے طور. اس کے لئے ایک جیسی ہے نوٹس پی ایچ پی کی لیکن کوئی ڈالر کا نشان. اور یہ کچھ ہم کریں گے ہے آج دیکھ کر شروع، آپ کو کسی چیز ہے جس کے تحت چابیاں اور اقدار کے ساتھ. اور آپ کو کرنے کی کوشش کرنا چاہتے ہیں تو آخری week-- سے نتیجہ نکالنا نحو تھوڑا سا مختلف ہے. لیکن ایک چھوٹی سی وویک کتنے check-- چابیاں اس اعتراض حاصل کرنے لگتا ہے؟ تو میں نے چار دیکھیں. میں نے دو دیکھیں. 

تو یہ اصل میں دو ہے. تو یہ ایک مجموعہ ہے دو اہم قدر جوڑوں کی. اہم جن کی قیمت ایف بی ہے علامت ہے. اہم جن کی قیمت 101،53 ہے قیمت ہے. تو ان دونوں اہم قدر جوڑوں ہیں. اور، PHP-- یاد ہے اور یہ ایک بار پھر ہے صرف ترتیب نحوی فرق کی. یہ سب نہیں ہے کہ ذہنی دلچسپ. پی ایچ پی کی یہ وہی لکھا ہو سکتا ہے مندرجہ ذیل اقتباس کے طور پر بات، برابر. اور میں مربع بریکٹ میں ان کو تبدیل. اور پھر میں نے اس کو تبدیل ایک کے حوالے سے لفظ، "قیمت." اور پھر میں نے ایک بڑی آنت کا استعمال نہیں کرتے. میں نے گزشتہ ہفتے کیا استعمال کیا؟ جی ہاں، برابر علامت فنکی سنکیتن تیر. 

اور پھر میں یہاں ایک ہی بات کیا. یہاں ایک ہی بات. اور یہ کہ تمام ہے. یہ نہیں ہے اگر ایسا ہے تو یہ ٹھیک ہے واقعی یاد میں میں ڈوب صرف ابھی تک یہ سچ ہے کیونکہ ذہنی پر uninteresting. یہ صرف syntactic اختلافات ہے. لیکن نظریات کو بالکل ایک جیسے ہیں. اس متغیر کے اندر جاوا اسکرپٹ میں اقتباس کلیدی قدر جوڑوں کی ایک مجموعہ ہے جن میں سے ایک، جن میں سے ایک نشانی ہے قیمت ہے. اور میں ان اقدار میں حاصل کر سکتے ہیں مندرجہ ذیل نحو کے ساتھ. صرف پی ایچ پی میں، میں کر سکتا ہوں کی طرح دو طرح کچھ کرنا مجھے اس باکس ایک چھوٹا سا بڑا بنا. صرف پی ایچ پی میں، میں کر سکتا ہوں کی طرح dammit، اوہ this-- بنانے. آ جاؤ. 

بس PHP-- ٹھیک ہے میں، ہم کریں گے کی طرح صرف پرستتکرتا نوٹوں کا استعمال. صرف پی ایچ پی کی طرح، میں کر سکتا ہوں ["علامت"] $ اقتباس $ اقتباس کرتے ہیں، اور یہ میرے ملے گا کی قدر "کی علامت." جاوا اسکرپٹ میں، یہ ہونے جا رہا ہے ایک جیسی، میں صرف یہ کر سکتے ہیں جس کے تحت. ہے کہ صرف ایک ہی چیز لاپتہ ڈالر کی نشانی ہے. 

اتنی اچھی طرح سے کافی، تو، وہاں ہے نہیں اتنا نئے نحو. تو ہم پر توجہ مرکوز کیا آج، واقعی، ہے خیالات اور ایپلی کیشنز میں سے کچھ. اور سب سے پہلے اس طرح کے درخواست ہے کہ آپ کو ہو سکتا ہے آپ pset میں dived تو دیکھا ہے سات پہلے ہی اس نحو ہے. تو آپ نے pset کے سات میں، اگر دیکھا یا نہیں اسے دیکھا، ہم دے کہ ایک فائل ہے کہ وہاں جانتے ہیں آپ config.json-- جاوا بلایا سنکیتن آبجیکٹ. کیوں؟ ہم کے ساتھ آپ کو فراہم کرنے کے قابل بننا چاہتا تھا کچھ اہم قدر جوڑوں کے ساتھ ایک ٹیمپلیٹ. ہم آپ کو ایک فہرست دینے کے قابل بننا چاہتا تھا میزبان کے، سرور کا نام. ہم آپ کو ایک دینا چاہتا تھا اپنا اسم رکنیت کے لئے پلیس ہولڈر اور آپ کے پاس ورڈ کے لئے ایک پلیس ہولڈر. آپ کو دیکھ کر نہیں کر رہے ہیں یہ ابھی تک، فکر کرنے کی نہیں. pset کے سات میں اس پر مزید [؟ رپورٹ. ؟] اور پھر، واضح طور پر، ہم آپ چاہتے ہیں ٹو DOS میں بھرنے کے لئے آپ میں لاگ ان کریں کیونکہ جب تم میں سے ہر CS50 IDE، آپ کے اپنے صارف کا نام اور پاس ورڈ ہے. 

تو ہم نے ایک نصف درجن استعمال کیا جاتا ہے کر سکتے ہیں یا اس سے زیادہ مختلف فائل کی شکل. ہم ایک TXT فائل استعمال کیا جا سکتا. ہم ایک CSV فائل استعمال کر سکتے ہیں. ہم نے استعمال کیا ہے کر سکتے ہیں ایک INI فائل، ایک XML فائل، ایک پوری چڑھانے زیادہ مخففات کہ آپ نے کبھی سنا نہیں ہو سکتا ہے. یہ صوابدیدی کی طرح ہے دن کے آخر میں. لیکن ان دنوں سپر مقبول ایک متن ہے شکل JSON-- جاوا سکرپٹ کے آبجیکٹ بلایا Notation-- کہ اس طرح لگ رہا ہے. یہ ایک چھوٹا سا خفیہ ہے لیکن پیٹرن محسوس. آپ کو ایک کھلی گھوبگھرالی کے ساتھ شروع تسمہ، اور آپ کو اسی کے ساتھ ختم. کے اندر ہے کہ کچھ ہے. یہ ایک اہم قدر جوڑی ہے. تو یہ میں ہوں کہ ایک چیز ہے یہاں کی سکرین پر دیکھ کر کہ ایک قیمت ہے جو ایک اہم، ہے. اور صرف کی بنیاد پر تاثر گزشتہ پیٹرن، اہم یہاں کیا ہے؟ ڈیٹا بیس، بات کرنے کے لئے بڑی آنت کے بائیں. 

اب، قیمت ہو ایک سے زیادہ لائنوں اس وقت. لیکن قیمت ایک گھوبگھرالی کے ساتھ شروع ہوتا ہے گلے اور ایک گھوبگھرالی منحنی خطوط وحدانی کے ساتھ ختم. تو تم کیا تجویز کریں گے ہے ڈیٹا بیس کی قدر کی قسم؟ A ڈکشنری یا، صرف زیادہ اور succinctly، کسی چیز کو. ٹھیک ہے؟ یہ ایک آنکڑا ڈھانچہ کی طرح ہے کہ خود کے اندر اندر دیگر ڈھانچے استعمال کر سکتے ہیں. اس پوری چیز ہم ہو تو ایک object-- اور کسی چیز بلا pairs-- اہم قیمت کا صرف ایک گروپ ہے ڈیٹا بیس خود کی قدر کسی چیز ہے. ڈیٹا بیس کی قدر ایک پوری چڑھانے ہے کلیدی قدر جوڑوں کی، سب سے پہلے جس کے ہے میزبان، پھر، کا نام اسم صارف، پاس ورڈ، جن کی اقدار میں سے ہر ایک، دریں اثنا، یہ ہے ڈبل قیمت درج کرنے میں صرف ایک بورنگ سٹرنگ. 

تو نہیں ہے یہاں تک کہ اگر ابھی تک سپر واضح، یہ صرف ایک ہے کہ پتہ سٹینڈرڈ، کافی بورنگ کا طریقہ کا ایک معیاری فارمیٹ میں ڈیٹا ذخیرہ کرنے. لیکن عام غلطیاں یہاں تک کہ pset کے سات میں، ہو سکتا ہے، تھوڑا پاگل چیزیں ہیں اگر آپ کی طرح اتفاقی طور پر وہاں کوما ترک. اس فائل کے نتیجے میں کرنے جا رہا ہے ضروری پڑھنے کے قابل نہیں کیا جا رہا. اگر آپ نے غلطی کی طرح چیزوں کو ترک تو کی قیمت درج کرنے، یہ پڑھنے کے قابل ہو جائے کرنے کے لئے نہیں جا رہا ہے. تو یہ ایک خوبصورت nitpicky فائل کی شکل ہے، لیکن یہ سپر عام ہے کہ ایک ہے. اور ہم اگرچہ، اس کا استعمال کرنے کے لئے ہو آپ کسی بھی جاوا اسکرپٹ دوسری صورت کا استعمال نہیں کرتے، pset کے سات میں. 

بالکل ٹھیک. تو اس تصویر کو یاد. ہم اس، ایچ ٹی ایم ایل میں، کے بارے میں بات کوڈ اس طرح نظر ہو سکتا ہے. یہ ہایپر ٹیکسٹ مارکاپ زبان ہے [اشراوی] صرف کے لئے "ہیلو، دنیا." لیکن پھر ہم تجویز واپس جبکہ اس کی مدد کرتا ہے کہ، آپ کیا سوچ شروع کرنے کے لئے چاہتے ہو سکتا ہے اس کو پہلے ہی ایک درخت کے بارے میں. اصل میں، پوٹ کاری ہے کہ ہم پڑھنے کی اہلیت کے سبب سے صرف استعمال یا سٹائل کی خاطر پر بائیں کر سکتے ہیں قسم کی اس درخت، جہاں آپ میں ترجمہ کیا جائے کچھ خاص جڑ نوڈ ہے کہ ہم کریں گے عام، دستاویز کہا جاتا ہے جس کے نیچے جڑ HTML عنصر یا ٹیگ، ایچ ٹی ایم ایل، جو اس کے بعد دو بچوں، سر اور جسم. 

اور پھر نتیجے میں، سر ایک عنوان ہے. اور عنوان ایک متن اہمیت کی حامل ہے. اور جسم اسی طرح ایک ٹیکسٹ کی قدر ہے. آپ کو آرام دہ کہہ رہے ہیں تو جی ہاں، آپ یہ HTML لے سکتا ہے اور اس طرح ایک تصویر کو اپنی طرف متوجہ یہ دائیں ہاتھ کی طرف ایک اچھا ذہنی ماڈل ہے کیونکہ اب ہم جاوا سکرپٹ ہے کہ، ایک پروگرامنگ زبان ہے کہ براؤزر کر سکتے ہیں پھانسی اور آپ کے لئے تشریح، یہ کیا کہ باہر کر دیتا ہم کوڈ میں ایسا کرنے کے بارے میں ہیں اس جوڑتوڑ کرنے کے لئے شروع کر رہا ہے یاد میں درخت کا ڈھانچہ. ہم تعمیر کرنے کی ضرورت نہیں یاد میں درخت. ہم قسم کے کرنے کی ضرورت نہیں ہے pset کے پانچ سٹائل آنکڑا ڈھانچہ پیچیدگی. اچھی طرح سے کافی، صلی اللہ علیہ وسلم براؤزر، نیچے کرنے کے لئے HTML سب سے ترجمانی، بائیں یا دائیں، لفظی جا رہا ہے ہمیں ایک پوائنٹر کے برابر ہاتھ مفت کے لئے پورے درخت کو. یہ مشکل کام کے تمام کرتا ہے. یہی موزیلا اور ایپل اور دوسروں ہمارے لئے کیا ہے. 

اور جاوا سکرپٹ کے ساتھ ہم کرنے جا رہے ہیں کو کنٹرول کرنے کے قابل ہو جائے اور تبدیل کرنے اور کیا دلچسپ چیزیں اس درخت، دوسری صورت میں نام سے جانا جاتا ایک ڈوم یا دستاویز آبجیکٹ ماڈل کے طور پر. کیا ان چیزوں کی قسم؟ ٹھیک ہے، یہ پتہ چلا ہے کہ جاوا اسکرپٹ میں، وہاں ہے اس لانڈری کی فہرست جگہ نہیں لے سکتا ہے کہ واقعات. اور ہم واقعی اس کا استعمال نہیں کیا لفظ ہفتے صفر اور pset کے بعد صفر ہم سکریچ کے بارے میں بات کی تھی جب. تم میں سے سب سے زیادہ شاید استعمال نہیں کیا اپنے سکریچ منصوبے میں ایک تقریب. لیکن آپ کو یاد کر سکتے ہیں سادہ مارکو پولو مثال کے طور پر، جہاں ہم دو تھا sprites کے، جن میں سے ایک مارکو، نے کہا. جس کے بعد، سننے کے بعد کے دوسرے اور واقعہ ہے کہ سماعت، پولو، نے کہا. اگر نہیں، تو، بلا جھجھک کہ اب تک واپس نظر آتے ہیں. 

لیکن یہ صرف کرنے کے لئے ہے کہتے ہیں، اور آپ کی قسم کے کر سکتے ہیں ان کے نام سے اندازہ چیزیں، جاوا سکرپٹ، یہ باہر کر دیتا، ہم سننے کے لئے ایک راستہ دینے کے لئے کی جا رہی ہے ماؤس نیچے جا یا ماؤس کو جانے کے لئے یا نیچے کی کلید یا کلیدی جا اپ جا رہے ہو یا onsubmit onselect یا کچھ onresizing. دوسرے الفاظ میں، کسی بھی جسمانی کارروائی ایک انسان ایک براؤزر کے ساتھ لے جا سکتے ہیں آپ کو ہر روز کرتے ہیں کہ، آپ لکھ سکتے ہیں اس کے لئے کوڈ ان واقعات کے لئے سنتا اور پھر مناسب کچھ کرتا ہے. 

مثال کے طور پر، آپ کو Google Maps استعمال کرتے ہیں تو، آپ پر کلک کریں اور اس اقدام تو کیا ہوتا ماؤس، عام طور پر؟ آپ کلک کریں اور ھیںچیں تو؟ جی ہاں؟ بالکل. نقشے کو منتقل کرنے کے لئے شروع ہوتا ہے. تو آپ کی طرح کیا ہے دیکھ سکتے ہیں یہاں، وہاں کیا ہے. اور کس طرح گوگل کہ عمل درآمد کرتا ہے؟ ویسے، شاید، وہ کر رہے ہیں ان ایونٹ کے ایک جوڑے کا استعمال کرتے ہوئے سامعین، ایک ہے کہ ، ماؤس پر کے لئے سننے کہنا جب صارف جسمانی تو down-- ان trackpad یا اس کا یا اس ماؤس pushes ہے نیچے. اور پھر ہم کے لئے تلاش کر رہے ہیں تحریک کی طرح کچھ یا کسی دوسرے واقعہ ہے کہ ہمارے ڈریگ پر قبضہ کرنے کی اجازت دیتا ہے. اور حقیقت میں، ڈریگ اس میں اسی طرح ہے ڈاٹ ممکن اختیارات کے ڈاٹ کوم فہرست. 

تو یہ ایک طاقتور ہونے جا رہا ہے راستہ صارف کو جواب شروع کرنے کے لئے یہاں تک کہ وہ اصل کلکس پہلے واضح کچھ کی طرح پیش. لیکن ہم کو متعارف کرانے جا رہے ہیں ایک جوڑے موضوعات وہاں حاصل کرنے کے. لیکن سب سے پہلے، چلو منتقلی کچھ اصل کوڈ. تو میں جا رہا ہوں آگے اور کھول DOM-0، جو ایک بہت سادہ مثال ہے میں یہاں صرف میں زوم ہے کہ میرے لئے یہاں اس ان پٹ ہے. اور میں آگے جانے کے لئے اور میں ٹائپ کرنے جا رہا ہوں میرے نام کے لئے "ڈیوڈ" اور جمع کرائیں پر کلک کریں. 

اور پھر، سہی طرح کے سستے، میں ، کا کہنا ہے کہ ٹمٹمانے والے یہ فوری ہے "ہیلو، ڈیوڈ!" تو اس قسم کی ہے ہمارے "ہیلو، دنیا" ہم تھوڑی دیر واپس C میں کیا ہے اور بھی پی ایچ پی میں متحرک طور پر ہے کیونکہ میرا نام ہے outputted. میں یہاں کسی اور کے نام کر سکتے ہیں. میں صرف، اس کو تبدیل کر سکتے ہیں کی طرح، ہننا، جمع کرائیں پر کلک. اور بے شک، تھوڑا پاپ اپ تبدیلیاں. 

اب، پاپ اپ میں سے ایک ہیں ویب کی سب سے زیادہ کے ساتھ زیادتی کی خصوصیات. اور حقیقت میں، پیٹھ میں دن پاپ اپ blockers ووگ میں آیا آپ کی وجہ سے کچھ website-- جائیں گے شاید ایک اعتراض place-- کہ اچانک پھر کرے گا آپ کی سکرین peppering کر شروع پاپ اپ کے پورے گچرچھی کے ساتھ. اور اس طرح اس کی صلاحیت پاپ صارف کے سامنے ونڈوز خاص طور پر نہیں کیا گیا ہے انسانیت کی طرف سے اچھی طرح موصول. آپ کو دیکھ کر یہی وجہ ہے کہ اس بات کی روک تھام، جس میں صرف اس پوری چیز بدسورت ہے. تو ہم نے ایک کی ضرورت کے لئے جا رہے ہیں صارف کو فوری طور پر بہتر طریقہ. لیکن اب کے لئے، کہ کام کرنے لگتا ہے. تو صرف intuitively، کیا یہاں کیا ہو رہا کیا جا رہا ہے؟ مجھے آگے جانا ہے اور جمع کرائیں پر کلک کریں، اور پھر کچھ واضح طور پر، ہو رہا ہے. لیکن نہیں ہو رہا ہے کہ ہوا پچھلے ہفتے میں جمع کرائیں پر کلک کسی بھی وقت؟ سکرین پر کیا نہیں کیا؟ معاف کیجئے گا؟ دوبارہ. یو آر ایل بالکل تبدیل نہیں کیا. میں، اس DOM-0 تھا اور میں DOM-0 میں اب بھی ہوں. عام طور پر، ہم نے کچھ دوسرے سے تبدیل کر دیا گیا تھا register.php جو یا جیسے طرح یو آر ایل،. 

لیکن میں نے بھی مسترد جب اوکے پر کلک کرکے اس بات کو، یو آر ایل ہے کہ محسوس کریں رہتا ہے مکمل طور پر ڈال دیا. اور، اصل میں، میں نے ایک چھوٹی سی ہوں تو شبہ، مجھے کروم کھول. مجھے نیٹ ورک کے ٹیب کھول دو. اور یہ اس وقت خالی ہے محسوس. مجھ سے آگے بڑھو اور ماریا دوبارہ جمع کرتے ہیں. کوئی نیٹ ورک ٹریفک نہیں ہے. تو کوئی HTTP ہے. 

تو یقینا، میں منبع کوڈ پر نظر ڈالیں تو this-- لئے مجھے اس ونڈو کو بند دو اور منبع کو دیکھنے کے لئے جانا. دلچسپ. کچھ ہے ایسا لگتا ہے نئے ٹیگ، ان کے درمیان سکرپٹ. تو CS50 کے اندر ایک نظر ڈالیں IDE بالکل میں صارف کو بھیجا. 

تو یہاں چلو is-- HTML صرف پر توجہ مرکوز. یہاں DOM-0.html کے نیچے نصف ہے. اور یہ ایک عنوان ہے کہ محسوس کریں، سر ٹیگ، ایک جسم ٹیگ، ایک فارم ٹیگ. لیکن کیا آپ کے لئے باہر چھلانگ ، مختلف آپ کو کبھی نہیں ہے خاص طور پر اگر کسی بھی جاوا اسکرپٹ اپنے لکھا. مجھے تھوڑی سکرال یہاں دائیں. میں نے ایک ان پٹ مل گیا ہے، کے لئے ایک ان پٹ جمع. میں نئے کی طرح ہے جس میں ایک کی شناخت، مل گیا ہے. لیکن ہم سی ایس ایس کے ساتھ اس دیکھا. اور کیا یقینی طور پر نئے ہے؟ جی ہاں؟ اچھا. 

بالکل ٹھیک. تو یہ onsubmit کہنا ہے کہ جہاں، پیروی کرنے کے لئے لگتا ہے محسوس. یہ ایک خصوصیت ہے ایچ ٹی ایم ایل میں نام. اس کی قیمت یہاں اس حوالے سے کہا سٹرنگ ہے. اور یہ ایک چھوٹا سا لگ رہا پہلی نظر میں عجیب. یہ HTML نہیں ہے. یہ سی ایس ایس نہیں ہے. آپ اندازہ لگا سکتا کے طور پر یہ،، جاوا اسکرپٹ ہے. تو یہ اس میں تعمیر ہے کہ لگتا ہے ویب صفحہ سلام نامی ایک تقریب ہے. اور میں اس صرف تاثر ہوں یہ ایک لفظ ہے کیونکہ، سلام. یہ ایک کھلی قوس ہے بند قوس، نیم وقفہ. ، سی تقریب کی طرح لگتا ہے ایک پی ایچ پی کی تقریب کی طرح لگتا ہے. 

اور یقینا، یہ جا رہا ہے ایک جاوا اسکرپٹ تقریب ہو. پھر میں نے جھوٹے واپس آ رہا ہوں. ہم واپس آ جائیں گے صرف ایک لمحے میں اس. لیکن جہاں یہ دالہ تعریف شدہ ہے؟ ویسے مجھے سکرال فائل کے سب سے اوپر. اور یہ ایک لمبی لائن ہے، اگرچہ، یہ نسبتا سیدھا ہے. مجھے یہاں سے باہر زوم اور ان چار لائنوں پر توجہ مرکوز. 

، جاوا اسکرپٹ میں تو پی ایچ پی کی طرح، آپ کو صرف کہو، لفظی، لفظ "تقریب،" تقریب کے نام، اور اس کے بعد کسی کے ساتھ قوسین اس معاملے میں کوئی دلائل دلائل. اور کوئی واپسی کی قسم ہے جاوا اسکرپٹ میں، صرف پی ایچ پی کی طرح. تو یہ سی کے مقابلے میں تھوڑا میں looser ہے کھلی گھوبگھرالی تسمہ، بند گھوبگھرالی منحنی خطوط وحدانی. جاوا اسکرپٹ میں بلٹ ایک تقریب ہے نہیں ایک سفارش function-- لیکن ایک تقریب الرٹ بلایا زندگی میں جن کا واحد مقصد کہ خوبصورت بدسورت ھیںچو کرنے کے لئے ہے ہم ایک لمحے پہلے دیکھا کہ فوری طور پر. 

اب یہ ایک گراس کی طرح ہے. یہاں کیا ہو رہا ہے؟ تو کرنا شروع کر دیں یہاں سب کچھ کو اجاگر. یہ مطلع کرنا ایک ہی دلیل ہے. اور کیا چل رہا ہے؟ یہ صرف ایک تار کی طرح لگ رہا ہے. اور یہ پی ایچ پی کے برعکس اور اس کے برعکس، باہر کر دیتا ہے سی، یہ جاوا اسکرپٹ میں کوئی فرق نہیں پڑتا آپ واحد کی قیمت درج کرنے یا ڈبل ​​قیمت درج کرنے ہے. وہ برابر ہو جائے گا. اور واضح طور سے، یہ صرف ہے ان دنوں مقبول ہمیشہ آپ کو جاوا پروگرامرز کے لئے کسی وجہ کے لئے ایک کی قیمت درج استعمال. ایسا کرنے کے لئے صرف ایک ہی چیز ہے. لیکن ہم اس کے ساتھ ساتھ، ڈبل قیمت درج کرنے کا استعمال کر سکتے. 

تاکہ پلس ایک نیا کردار ہے. لیکن تم میں سے ان سے کیا ہے جو اس سے پہلے، کے علاوہ کیا مطلب ہے؟ جی ہاں. سلسلہ بندی کرنا. تو ہم پی ایچ پی میں یہ دیکھا. صرف ڈاٹ نہیں ہے پی ایچ پی میں آپریٹر کہ ایک دوسرے کے ساتھ دو ڈور سلسلہ بندی کرنا گا. سی گردن میں درد ایسا کرنے کے لئے تھا. تھا جس pset چھ، سے یاد گردن میں ایک خاص درد، آپ استعمال کرنا پڑے گا strcat طرح کچھ میموری مختص کرنے کے بعد اسٹیک یا ڈھیر پر. تم hoops کے ذریعے کود پڑا صرف دو ڈور سلسلہ بندی کرنا. جاوا اسکرپٹ میں، یہ سپر آسان ہے. صرف ان کے درمیان کے علاوہ آپریٹر کا استعمال کریں. 

اتنی پیچیدہ لگ بات یہ ہو رہا ہے کی وجہ سے آخر میں اس پورے سٹرنگ، میں نے صرف ایک فجائیہ نقطہ پر سلسلہ بندی کرنا. کیا پوپ آؤٹ تھا اگر ایسا ہے تو "ہیلو، ڈیوڈ،" "ہیلو، ہننا،" "ہیلو، ماریا،" اور تو آگے، واضح طور پر دونوں کے درمیان میں ہے کہ مشرق بات pluses میرے تک رسائی دینا ہوگا؟ اس بات کا یقین کے لئے میں موجود ہے؟ جی ہاں. تو میں یہاں ڈرامہ کریں گے ان کے نام کا جواب، ٹھیک ہے؟ تو ان کے نام فائنل میں اپ popped نتیجہ. تو اس کا کیا مطلب ہے؟ ویسے، مجھے لگتا ہے کہ میں پہلے مجوزہ ڈوم کہ نام نہاد تصویر اس خصوصی جڑ عنصر ہے راستہ اوپر دستاویز بلایا. اور اب، اس جا رہا ہے، باہر کر دیتا ہے ایک خصوصی عالمی متغیر ہونا جاوا اسکرپٹ میں، ایک ہے جس میں تعمیر مفید فعالیت کے پورے گچرچھی. مفید فعالیت ہے میں صلاحیت کسی بھی نسل نوڈ پر حاصل کرنے کے. وہ چوکوں یا مستطیل یا بیضویات صرف اس سے بات کرنے، ایک درخت میں نوڈس. 

تو یہ پتہ چلا ہے کہ میں تعمیر کیلیے جاوا اسکرپٹ کا دستاویز آبجیکٹ دوسری صورت میں ایک کے طور پر جانا جاتا ہے ایک تقریب، ہے طریقہ، کہ getElementById کہا جاتا ہے. فون کرنے کے لئے نحو جاوا اسکرپٹ میں ایک تقریب کہ کسی چیز یا ایک کے اندر ہے متغیر صرف ڈاٹ سنکیتن کے ساتھ ہے. اور ہم C میں یہ دیکھا کیا struct کے نحو. تم، قسم کی، pset کے سات میں اس کو دیکھنے کے کی طرح، آپ CS50 :: استفسار دیکھ کر. پی ایچ پی میں بڑی آنت بڑی آنت ایک اور مثال ہے ہے کہ ایک تقریب میں بلا کی راہ کچھ اعتراض کے اندر. 

لیکن اب جاوا میں، یہ صرف ایک نقطہ ہے. اور اس طرح یہ تقریب، اچھی طرح سے کافی، قسم کی یہ آئی ڈی کی طرف سے عنصر حاصل does-- کیا کہتا ہے. ایک عنصر صرف ایک نام ہے ڈوم میں ایک ٹیگ یا نوڈ کے لئے. اور اس کی شناخت "کا نام" کی طرف سے عنصر حاصل اپنے HTML یہاں this-- مطلب. یہ ایچ ٹی ایم ایل کی بنیاد پر، کیا نوڈ یا جو HTML ٹیگ ہوں پروگرام ہاتھ ہونے جا رہا ہیں document.getElementByID بلا کی طرف سے؟ 

جی ہاں، بالکل. میں ان پٹ حاصل کرنے کے لئے جا رہا ہوں جن ID وہاں عنصر "کا نام ہے." تو خاص طور پر، آپ کر سکتے ہیں اس تقریب کے بارے میں سوچنا، دینے کا ایک طریقہ کے طور، getElementById اس مخصوص نوڈ پوائنٹر واپس درخت میں. ہم اس تیار نہیں ہے درخت، لیکن یہ ایک طریقہ ہے کی اس تک رسائی حاصل کرنے مستطیل یا کہ مستطیل منفرد اس کی آئی ڈی کے ذریعے اس کی شناخت کی طرف سے. 

اب، یہ کیوں مفید ہے؟ ٹھیک ہے، یہ باہر کر دیتا ہے آپ ہو گیا ہے ایک بار سے مستطیل کہ نوڈ، تصویر، اس کے اندر اس نوڈ، کے نتیجے میں، کی ایک پوری چڑھانے ہے properties-- اہم قدر جوڑوں یا قدر کہا جاتا ہے جن میں سے ایک کے اعداد و شمار،. تو لفظی، یہ ایک کی طرح ہے گراس پوری بات کی وضاحت کرنے. لیکن دن کے اختتام پر، یہ سب کرتا ہے آپ کو دے ہے صارف میں ٹائپ ہے کہ ایک سٹرنگ اس پدانکردوست فیشن میں. لیکن میں پسند نہیں کرتے ان چیزوں کے جوڑے. یا بلکہ، کچھ تجسس اب بھی موجود ہے. اس کے سب کام کرنے کے لئے لگ رہا تھا. تم کیوں میں واپس لگتا ہے سلام بلا کے بعد جھوٹے؟ یہ ہے کہ، تھوڑا بدسورت لگ رہا میں نے دو بیانات وہاں ہے سیمی کولون سے الگ. ایک اندازہ لے. میں جھوٹے واپس ہٹا دیا تو، کیا صرف جبلی، ہو سکتا ہے؟ معذرت، پھر کہتے ہیں؟ 

ونڈوز کا ایک گروپ کو کھولنے. تو ممکنہ طور پر ہو سکتا ہے کہ کچھ کہ ہو گا کی طرح. اور کیا؟ ایک درخواست جمع کرانے جہاں ہو سکتا ہے؟ ایک ہی صفحے پر. لہذا، حقیقت میں، کہ ہے یہاں جواب قریب، یہاں تک کہ کے برعکس، اگرچہ ماضی میں، میں نہیں ہے کارروائی وصف کی وضاحت، جو عام طور پر ہمیں کیا کرنا ہے. ایک پہلے سے طے شدہ ہے باہر کر دیتا. آپ کو کارروائی کی وضاحت نہیں ہے، یہ اقتباس کہہ طرح ہے، unquote جو یا فائل خود کا نام، اس معاملے میں جو کرے گا DOM-0.html کی طرح ہو. یہ صرف کی طرح، inferred کیا ہے یا بلکہ تقاضا. 

اور میں ایسا نہیں کرتے تو، کی نوٹس دیں. مجھے اس کو بچانے. اور میں جھوٹے واپسی ہٹا دیا ہے. مجھے اس کو واپس جانے دو مثال کے طور پر اور طاقت اس کو دوبارہ لوڈ کریں. اور تم نے مجھے مشورہ دیکھا ہے ہو سکتا اس CS50 پر اوقات کے ایک گروپ پر بحث کریں. کبھی کچھ اداکاری ہے تو funky اور آپ توقع براؤزر، برتاؤ نہیں ہے اکثر آپ کو منعقد کرنے چاہتے ہیں کریں گے شفٹ اور پھر دوبارہ کلک کریں. یہ دوبارہ لوڈ کرنا ہر فائل پر مجبور کرے گا اور اپنے براؤزر کے مقامی کیشے استعمال نہیں یا کاپی اب تاکہ، مجھے آگے بڑھو اور میرے انسپکٹر، نیٹ ورک کے ٹیب کھولنے. میں پر کلک کریں کرنے کے لئے جا رہا ہوں لاگ ان کی وجہ سے محفوظ میں یہ صفیں حذف نہیں کرنا چاہتے میں کہیں دور whisked ایک بار. 

مجھے یہاں آگے بڑھو اور Andi کی قسم، جمع کرائیں پر کلک. بالکل ٹھیک. کے طور پر توقع ہے کہ لگتا ہے. یہ "ہیلو، Andi کی." کا کہنا ہے مجھے ٹھیک پر کلک کریں. دلچسپ. ، صفحے کو تبدیل کہ نوٹس اصل صفحے پر ہی سہی. تبدیل کر دیا گیا کے URL قسم نوٹس. یہ ایک سوالیہ نشان شامل جو عام طور پر ایک اشارے ہے کہ ہم کچھ پیش کرنے کی کوشش کی. اور پھر سب سے نیچے دیئے، اس سے بھی زیادہ واضح طور پر، یہاں اصل HTTP درخواست ہے، 200 کے جواب مل گیا جو مجھے یہاں واپس لایا. 

تو یہ کیا نہیں ہے ہم صحیح کرنا چاہتے ہیں؟ میں نے نہیں کرنا چاہتے کیونکہ پورے صفحہ دوبارہ لوڈ. میں بجائے واپس کرنا چاہتا تھا اتنی مختصر سرکٹ کے طور پر جھوٹے براؤزر کے ڈیفالٹ رویے، جس صفحے پیش کرنے، کورس کے، تھا. 

تو ایک پر ایک نظر ڈالیں معمولی بہتر مثال. یہ ڈوم ایک ورژن ہے. اور مندرجہ ذیل نوٹس. آپ grok نہیں ہے تو یہ ٹھیک ہے کوڈ کی لائنوں کی تمام. لیکن بنیادی طور پر مختلف ہے اس پر عمل درآمد کے بارے میں؟ میں نے اس برتاؤ شرط گے اسی، ایک ہی بات کرتا. میں واضح طور پر مختلف طریقے سے کیا کیا ہے؟ جی ہاں؟ 

سامعین: [اشراوی]. DAVID MALAN: جی ہاں. تو دالہ تعریف differently-- فارم سے غائب دوسرے الفاظ میں، وہاں لائن 7-- یا بلکہ، لائن 8-- اب کوئی میں onsubmit وصف ہے. گزشتہ مثال میں، میں نے یہ تھا. اور پھر میں نے لفظی یہاں اپنے کوڈ لکھا. اور پھر میں نے جھوٹے واپس نے کہا. اور یہ رگڑنا نہیں کیا تو اگر آپ نے ابھی غلط طریقے، یہ کرنے کے لئے شروع کر دینا چاہئے insofar کے صرف ایچ ٹی ایم ایل کی طرح، کے طور پر، ہم کرنا شروع کر دیا جب یہ شریک ملانا CSS انداز صفات میں کے ساتھ، یہ صرف ایک چھوٹا سا حاصل کرنے کے لئے شروع کر دیا گندا یا ایک چھوٹا سا غلط محسوس. 

اسی طرح یہاں، تو آپ کو HTML لینے شروع اور پھر آپ کو خود کار طریقے سے کچھ جاوا سکرپٹ کے کوڈ plop یہ ایک حوالے سے کہا سٹرنگ کے وسط میں، یہ ہے بہت قابل ہونے کے لئے نہیں جا رہا. ٹھیک ہے؟ یہ سب سے پہلے میں بھی واضح نہیں ہے جاوا سکرپٹ کے کوڈ ہے جہاں. تو اس کے طور پر بہت اچھا ہو جائے گا بہتر ڈیزائن کے اصول، ہمارے ایچ ٹی ایم ایل کو مکمل طور پر رکھ دو ہمارے جاوا اسکرپٹ سے الگ. 

تو ہم کیا، ایسا کرنے کے لئے یہاں کیا مندرجہ ذیل ہے ہم صرف صرف مارک اپ کے لئے ایچ ٹی ایم ایل کا استعمال کرتے ہیں. اور اس ورژن میں اس میں سے ایک، تمام میں نے ایک منفرد ID کے ساتھ ایک شکل ہے. اور پھر یہاں نیچے، میں فائدہ اٹھا رہا ہوں جاوا اسکرپٹ کا ایک خاص خصوصیت کے جس میں کیا کر سکتے ہیں ایک گمنام تقریب میں بلایا. تو اس میں کال کریں تو پتہ چلتا ہے کہ 'ڈیمو' کے ہیں document.getElementByID کہ مجھ سے ایک پوائنٹر دینے کی طرح ہے اپنے درخت میں نوڈ، فارم عنصر، تو بات کرنے. 

اب، میں صرف سے جانتے ہیں ایچ ٹی ایم ایل کا تھوڑا سا جانتے اب ہم کچھ آن لائن پڑھ کر رہے ہیں حوالہ، کہ ایک فارم عنصر کی حمایت کرتا ہے واقعہ listeners-- کی ایک پوری چڑھانے میں دوسرے الفاظ میں، واقعہ کی لانڈری کی فہرست ہم ایک لمحے پہلے دیکھا کہ سامعین. میں دستاویزات پڑھنے سے جانتے ہیں کہ onsubmit ایک درست واقعہ ہے ایک فارم عنصر کے لئے سننے. 

تو مجھے معلوم ہے ایک بار، میرے لئے یہ محفوظ ہے کہ نوڈ کو حاصل مندرجہ ذیل درخت سے، فارم عنصر، اور اس کے نام نہاد رسائی onsubmit جائیداد. تو ڈاٹ صرف کا مطلب ہے یہ ایک خاصیت ہے اس کے اندر ایک خاص قدر کی طرح. اور جو اعداد و شمار کی قسم میں ہوں بتائے، بظاہر، ہے جس میں، onsubmit سے اندر مؤثر طریقے سے ایک متغیر درخت میں نوڈ کہ؟ کہ struct کے اندر ایک فیلڈ ہے. ڈیٹا کی قسم کیا ہے؟ 

ایک تقریب، جی ہاں. تو یہ پی ایچ پی کی یہ ہے کہ باہر کر دیتا. اور یہاں تک کہ ہم اگرچہ اس کے بارے میں آپ کو بتا نہیں کیا، سی بھی تقریب میں اشارہ ہے، پاس اور افعال تفویض کرنے کی صلاحیت متغیر 'اقدار خود کے طور پر. اور ہم جا نہیں کر رہے ہیں سی پر واپس کرنے کے لئے دھچکا لیکن اب کے لئے، یہ ہے کہ باہر کر دیتا ہے یہاں دائیں ہاتھ کی طرف پر، یہ ایک چھوٹا سا لگ رہا ہے، اگرچہ Funky کی، اس کا مطلب، ارے براؤزر، مجھے ایک تقریب. میں بھی دینے کی زحمت نہیں جا رہا ہوں یہ ایک نام میں لفظی ہوں کیونکہ چلو اس کا بلالے تفویض کرنے والا اس تقریب کا پتہ فوری طور پر onsubmit کرنے. دوسرے الفاظ میں، براؤزر میں، آپ کی ضرورت نہیں اس تقریب میں بلایا ہے جاننا. آپ کو صرف جاننے کی ضرورت ہے جہاں یہ یاد میں ہے. اور اس طرح یہ صرف کرنے کے لئے کافی وہاں ایک برابر علامت ہے اور اس طرح، اس کا نام کی پرواہ نہیں FOO کو یا سلام یا کسی دوسرے لفظ. اور اب یہ صرف ایک stylistic بات ہے. میں اس گھوبگھرالی منحنی خطوط وحدانی منتقل کر سکتے ہیں the-- sorry-- اگلی لائن پر کی طرح ہم عام طور پر CS50 کرتے. لیکن جاوا اسکرپٹ میں، یہ ہے اصل stylistically عام صرف گھوبگھرالی منحنی خطوط وحدانی رکھنے کے لئے، کہ پہلی سطر پر سب سے پہلے،. 

آخرت، وہاں ہے کچھ دلچسپ. کہ کھلی گھوبگھرالی منحنی خطوط وحدانی صرف میری تقریب کے آغاز demarcates. تقریب ہے ایک جیسی، میں نے سوائے واپسی جھوٹے شامل اس تقریب کے اندر. یہ out-- دیتا ہے کیونکہ اور آپ کو صرف کرے گا پڑھنے سے یہ جانتے ہیں documentation-- آپ کی تقریب میں تفویض ہے کہ اگر کہ onsubmit ہینڈلر جھوٹے واپس کرنے کے لئے، براؤزر صرف جانتا ہے اور اتفاق کرتے ہیں ایک سرور کے لئے فارم جمع کرنے کے لئے نہیں. یہ سچ واپس، تو یہ پیش کرے گی ہم دیکھیں گے وجوہات کے لئے ایک سرور پر صرف ایک لمحے میں مفید ہیں. 

اور پھر نیم وقفہ کے بعد گھوبگھرالی منحنی خطوط وحدانی وہاں صرف میں تقریب کی وضاحت کیا کر رہا ہوں مطلب. آپ کے طور پر جلد ہی کال کیا پتہ آپ کو ایک جمع کرانے سنتے. بالکل ٹھیک. یہ اب بھی arguably سب قسم کی بدسورت ہے. تو ہم کیا کر سکتے ہیں؟ 

ٹھیک ہے، یہ میں اس وقت باہر کر دیتا ہے last-- ہے جس ورژن دو، اور ہم اس میں صرف نظر گے. بنانے کے خطرے میں یہ uglier ہے، یہ باہر کر دیتا ایک لائبریری میں ہے کہ وہاں دنیا jQuery کے کہا. اور jQuery ایک سپر ہے مقبول جاوا سکرپٹ لائبریری کہ سب سے زیادہ اتنا مقبول ہے کہ ہے کوئی یہ نہیں ہے جاوا سکرپٹ لوگوں کو الجھانے کے لئے غیر معمولی جاوا سکرپٹ کے ساتھ jQuery کی. کیوں؟ جاوا خود کو بہت ہے چیزیں کرنے کے شبدبہل طریقوں ہیں document.getElementByID، dadadadadada. تم نے بہت ہونے کو ختم کوڈ کی لمبی لائنوں. 

یوحنا باشندوں نامی ایک ساتھی، جو اصل میں ایک ابتدائیہ کے لئے کام کرتا ہے ان دنوں، باہر آئے اس لائبریری سال کے ساتھ پہلے بہت سے لوگوں کو کردار ادا کیا ہے کہ تبدیل jQuery کے بلایا مندرجہ ذیل راستے میں نحو. اور صرف تو آپ کو، اس کو دیکھا ہے آپ ہمیشہ گا کیونکہ ایک کر تو اس کو دیکھنے کے ویب پر مبنی حتمی منصوبے، اس کے برابر طریقہ ہو گا کا استعمال کرتے ہوئے ایک ہی تقریب پر عمل درآمد اس خصوصی لائبریری. 

اب، بلکہ چڑھاو سے علاوہ اس کی مکمل طور پر، صرف کچھ نمونوں کو دیکھو. یہ نحو ہے ظاہر ہوتا ہے کتنے گمنام افعال یا بینام افعال یا AKA لامڈا افعال؟ دو، ٹھیک ہے؟ اور آپ کو معلوم ہے، کہ یہاں تک کہ اگر آپ کو اس کے ساتھ سپر آرام نہیں ہیں صرف اس حقیقت یہ ہے کہ کی طرف سے کا کہنا ہے کہ تقریب () دو بار. 

اور یہ پتہ چلا ہے کہ کیا اس کوڈ doing-- ہے اور ہم آن لائن حوالہ جات سے رجوع کریں گے، بالآخر، اس کے ساتھ کچھ مدد کے لئے. یہ صرف کا مطلب ہے کہ دستاویز تیار ہے، آگے بڑھو اور رجسٹریشن مندرجہ ذیل تقریب ایچ ٹی ایم ایل کے لئے پیش ہینڈلر کے طور پر جن منفرد خیال ڈیمو ہے عنصر. اور پھر، جب ایسا ہوتا ہے، کوڈ کا ان دو لائنوں پر کال کریں. یہ، ایک سے زیادہ المناک، ہے جھوٹے واپس کہہ کے شبدبہل طریقہ. اور ہم نے صرف اس وجہ سے اس کا ذکر کیا آپ اس آن لائن کی طرح کوڈ کو دیکھ لیں گے. اور اس کی طرف daunted جا کرنے کے لئے کچھ بھی نہیں ہے. بلکہ، کیا ہے کہ ذہن میں رکھیں جاوا اسکرپٹ میں عام ہونے جا رہا اس پیرا میٹر ہے. اب ہم کے لئے یہ ظاہر کیوں اور تو ہے کہ ہے. بالکل ٹھیک. تو بھی رہنے کے بغیر کہ نحو پر زیادہ سے زیادہ، کوئی سوال پر ہیں ان مثالوں یا خیالات اس طرح اب تک؟ بالکل ٹھیک. تو مفید چیز کے لئے اس کا استعمال کرتے ہیں. ، صرف ہیلو کا کہنا ہے کہ ایک ویب کے صفحے بنانا فلاں، تمام دلچسپ ہے کہ نہیں ہے underwhelm نہیں. یہ ایک، خوبصورت بننا نہیں جا رہا ہے لیکن یہ مفید کچھ کیا جا رہا ہے. میرے ڈائریکٹری میں واپس جانے دو یہاں اور کھولو، فارم 0.html، کا کہنا ہے کہ. 

تو اس freshman ہے فرض intramural کھیلوں رجسٹریشن کے صفحے کسی بھی سی ایس ایس یا ڈیزائن کے کسی احساس کے بغیر. اور میں آگے جانا چاہتے ہیں اور ایک پاس ورڈ کے ساتھ یہاں رجسٹر. میں شرائط سے اتفاق کرنے جا رہا ہوں و ضوابط اور رجسٹر پر کلک. اور اب آپ کی ویب سائٹ ہیں "، کا کہنا ہے کہ رجسٹرڈ! (ویسے، سچ میں نہیں.) " یہ کام کی طرح لگتا ہے، لیکن مجھے آگے بڑھو اور دوبارہ لوڈ کریں پر مجبور دو. 

اور مجھے کوئی، آپ ایسا نہیں کرتے، کا کہنا ہے کہ میری اصل ای میل ایڈریس کی ضرورت. یا شاید ہم صرف وہاں میں میل کہیں گے. پاس ورڈ 12345، کی طرح ہو جائے گا. اور پھر، میں ہوں صرف اس وجہ سے ایک بیوکوف، اب یہ 123456789 ہے. اور میں آپ کے باکس کو چیک کرنے نہیں جا رہا ہوں. 

ہمم. بالکل ٹھیک. تو کئی مواقع موجود ہے یہاں بہتر بنانے کے لئے. اور آپ کو معلوم ہے، یا pset میں دیکھیں گے آپ code-- لکھ سکتے ہیں کہ سات، اور آپ کو لکھنے کے لئے کرنا پڑے گا PHP-- میں کوڈ کا دفاع کرنا صارف کی ان اقسام کے خلاف غلطیاں واضح طور پر صارف کی وجہ سے تعاون نہیں کیا. اور وہ آپ کو نہیں دی ہے تمام تم چاہتے تھے یا اس سے بھی شکل میں اقدار آپ ان سے چاہتے تھے کہ. تو آپ pset سات میں دیکھیں گے کہ ہم یقینی طور پر کچھ کر سکتے ہیں کا کہنا ہے کہ حالات تو ای میل ایڈریس تو ایک username@something.edu، نہیں ہے ہم صرف کر سکتے ہیں مستثنی تقاضہ اور صارف کو معذرت خواہ ہیں زیادہ سے زیادہ، آپ pset سات میں ہو سکتا ہے کی طرح. یا وہ اس باکس کی جانچ پڑتال نہیں ہوا ہے تو، پی ایچ پی میں پتہ چلتا ہے، آپ کو اس کا پتہ لگانے کے کر سکتے ہیں، بھی. اور یقینی طور پر پاس ورڈ تو register.php جو میں کے طور پر کے مطابق نہیں ہیں pset کے سات، آپ کو اس کا پتہ لگانے کے کر سکتے ہیں. لیکن اس میں ایک درد ہے کہ میں گردن اب وہ درخواست ہمارے سرور پر تمام راستے پر چلنا. صارف کی خرابی کے مطلع کیا جاتا ہے. اور کم از کم آپ کو استعمال جب تک کچھ اچھے تکنیک، اب وہ واپس تیر پر کلک کریں کرنے کے لئے ہے. اس طرح، اچھا نہیں ہو گا ویب سائٹس کی ایک بہت آج، آپ زیادہ فوری طور پر تھا تو رائے، فوری طور پر؟ 

دوسرے الفاظ میں، مجھے ورژن پر جانے کوئی خوبصورت ہونے جا رہا ہے جس میں سے ایک،. لیکن یہ اس کی خاصیت ہے. MALAN، 12345، 123456789، نہیں ، رجسٹر باکس کو چیک کرنے کے لئے جا. پاس ورڈ میچ نہیں کرتے. تو یہ پاپ اپ ugly-- ہے، اگرچہ ہم آخر میں اس کی جگہ لے سکتا بوٹسٹریپ طرح کچھ کے ساتھ، آپ pset سات میں جس کو دیکھ لیں گے میں نے ایک بہت ہی مقبول لائبریری ہے پاس ورڈ مماثل نہیں ہیں کہ پتہ لگانے کے. بالکل ٹھیک. ٹھیک ہے، میرے صارف کے طور پر اس کو ٹھیک دو. مجھے آگے بڑھو اور 12345، 12345 کا کہنا ہے کہ. اب بھی معاہدے کی جانچ پڑتال نہیں. تم سے متفق ہونا ضروری شرائط و ضوابط. تو کیوں؟ 

ہم نے پہلے ہی رکھی ہے تو ایک طریقہ ہے کہ، اور ہم میں آپ کی ضرورت ہے غلطی کا پتہ لگانے کے pset کے سات اس طرح کے حالات سرور سائیڈ، کیوں مجھے ایسا کرنا چاہیے یہ بھی جاوا اسکرپٹ میں یہ کر پریشان؟ ایک دلیل میں کیا ہے شامل کرنے کا حق کیا آپ some-- طور پر دیکھنے کے لئے کے بارے میں ہیں اضافی پیچیدگی ہے. 

ہو سکتا ہے کہ کوئی الٹا ہے. اس سے کیا ہو سکتا ہے؟ سامعین: [اشراوی]. DAVID MALAN: اوہ، دلچسپ. ممکنہ کارناموں. تو اس بات کا یقین، آپ کو ہینڈل کرنے نہیں کر رہے ہیں غلط صارف کی ان پٹ بہت زیادہ ہے، شاید یہ تو سب سے بہتر ہے یہاں تک کہ آپ کے سرور تک پہنچ نہیں ہے. میں وہاں واپس دھکا گا اور کہہ دو، آپ کو شاید کرنا چاہیے ان مسائل میں سے دونوں کو حل. لیکن یہ درست ہے. اور کیا؟ 

سامعین: [اشراوی]. 

DAVID MALAN: جی ہاں. ہم نے پہلے کہا کے طور پر یہ کوڈ،، ہے کلائنٹ سائڈ پر تشریح. یہ سرور کی پرواہ نہیں کرتا، جس کا مطلب یہ نہیں ہے سرور کی بوجھ یا صلاحیت پر اثر انداز. اور اب، چھوٹی سی پرانے میرے لئے، یہ کوئی بامعنی اثر ہے میں ابھی ایک صارف ہے کیونکہ. 

لیکن آپ کو کسی بھی ہو تو مہذب سائز کی ویب سائٹ، خاص طور پر سب سے بڑا، فیس بک کی طرح، زیادہ آپ لوگوں سے دور رکھنے کے کر سکتے ہیں آپ کے سرور کی بہتر ایک سرور کی وجہ سے، کورس کے، صرف RAM کے ایک محدود رقم ہے، گیگاہرٹز کے ایک محدود تعداد، چیزوں کی ایک محدود تعداد اس وقت کے فی یونٹ کر سکتے ہیں. زیادہ سے زیادہ لوگوں میں موجود ہیں تو دنیا، آپ کے سرور کو مارنے اتفاقی طور پر لاگ ان غلط، صرف کے طور پر اچھی طرح سے اگر آپ کے سرور سے دور بوجھ رکھ سکتے ہیں. پلس، خاص طور پر ایک موبائل پر کیا تم نے کبھی ہے تو device-- my.harvard میں لاگ ان کریں یا ییل کی netid یا جیسے، ایک بہت کچھ کے ساتھ اس تاخیر ہے کہ یہ لیتا ہے جس طرح کی ویب سائٹ، کی طرح، ایک لات دوسری یا دو کبھی کبھی. اور پھر، میرے خدا، آپ، mistype تو تو آپ واپس مارا اور اسے پھر سے کرنا پڑے. تو خاص طور پر، تاخیر ہے سست نیٹ ورک کنکشن پر. لیکن جاوا سکرپٹ، کیونکہ یہ کلائنٹ پر چلتا ہے اور آگے پیچھے جانے کی ضرورت نہیں ہے ایک ممکنہ طور پر سست رفتار انٹرنیٹ کے اس پار کنکشن، آپ حاصل کر سکتے ہیں تقریبا فوری آراء. 

تو یہ دیکھو. مجھے کھول دو فارم 0 اور یہاں HTML کو دیکھو. اور صرف کیا ہو رہا ہے دیکھتے ہیں. یہ کس چیز کا ایک شکل ہے کارروائی register.php جو ہے. میں صرف اتنا حاصل استعمال کر رہا ہوں میں یو آر ایل دیکھ سکتا ہے. لیکن پاس ورڈ کے لئے، ہم ضرور چاہتے ہیں حقیقت میں پوسٹ کرنے کے لیے اس کو تبدیل کرنے. یہاں ٹائپ متن کی ایک ان پٹ فیلڈ ہے. یہاں ایک ان پٹ ہے قسم پاس ورڈ کے میدان. آپ کبھی نہیں دیکھا ہے تو یہاں، ہے، قسم چیک باکس کے ایک ان پٹ. 

لیکن کوئی جاوا اسکرپٹ ہے یہاں کچھ. یہ ایچ ٹی ایم ایل ہے register.php جو کو جاتا ہے. لیکن ایک ورژن میں، جہاں میں ان پاپ اپ حاصل کرنے کے لئے شروع کر دیا، اصل میں یہاں کیا ہوتا ہے دیکھتے ہیں. ایک ورژن میں، کیا مجھے دیکھتے کرنے جا رہا ہوں میں نے کافی اسٹال سکتی ہے کافی الفاظ کے ساتھ، لیکن میں باہر بھاگ گیا. 

ورژن میں وہاں one-- ہمیں جانا. ایک ورژن میں، مندرجہ ذیل نوٹس اور سب سے بہترین پر عمل درآمد نہیں ہے، لیکن یہ میرا سب سے پہلے ہے. ذیل میں اس نوٹس فارم، میں نے ایک سکرپٹ ٹیگ ہے. اور ایک سکرپٹ ٹیگ، کا مطلب ہے کہ ارے، براؤزر، یہاں میں کچھ کوڈ آتا ہے، عام طور پر، جاوا. اور اب، میں کیا کر رہا ہوں محسوس. line-- پر میں بمشکل کر سکتے ہیں اس کا کہنا ہے، اندازہ لگانے والے 32 لائن پڑھنے، متغیر تو مجھے دے form-- فارم نامی ایک متغیر. اور پھر document.getElementId حاصل "رجسٹریشن." کے یہ کیا ہے؟ ٹھیک ہے، مجھے یہاں ماضی دو. اور نوٹس، آہ، میں فارم عنصر دی ایک صوابدیدی لیکن وضاحتی خیال رجسٹریشن کی. تو یہ میرے ایک متغیر دیتا ہے مجھے اس نوڈ پر قبضہ کرنے کی اجازت دیتا، درخت میں مستطیل شکل کہا جاتا ہے. form.onsubmit ذرائع، ارے براؤزر، ایک واقعہ سننے رجسٹر اس فارم پر. اس فارم ہے جب دوسرے الفاظ میں، پیش، مندرجہ ذیل کوڈ کو پھانسی. یہ ایک نام کی وجہ سے کی ضرورت نہیں ہے کیوں آپ کا نام جاننے کی ضرورت ہے؟ آپ کو صرف جاننے کی ضرورت ہے لہذا، کیا پر عمل کرنے کی یہ ایک گمنام یا لامڈا تقریب ہے. اس تقریب ہے یہاں ان لائنوں کی تمام. اور اب،، ایماندار ہونا بھی آپ اگرچہ کبھی جاوا سکرپٹ لکھا ہے نہیں ہو سکتا ہے پہلے، یہ صرف سی اور پی ایچ پی کی منطق ہے. تو form.email.value تو == "" - ای میل کے میدان خالی ہے اگر ایسا ہے تو، تو آپ لازمی "کے ساتھ صارف کو چللاو آپ کا ای میل ایڈریس فراہم کریں. " اور اگر form.password.value صارف خالی چللاو، ہے "آپ کو آپ کے پاس ورڈ فراہم کرنا ضروری ہے." 

مزید دلچسپ بات یہ منطقی طور پر، form.password.value نہیں ہے تو برابر form.confirmation.value-- تصدیق کہاں سے آئے؟ مجھے ماضی ہیں. ٹھیک ہے، میں اس نام سے ان پٹ یہاں میدان پاس ورڈ. میں تصدیق یہاں ایک ملاقات کی. میں یہ کہا جاتا ہے کر سکتے ہیں پاس ورڈ دو یا کچھ اور. میں صرف منطقی طور پر کر رہا ہوں. ان دونوں ایک ہی ہیں. یہ مسٹر Boole یہ باہر کر دیتا ہے Else-- ایک بولین قدر، چیک باکس again--. لہذا میں نے کا کہنا ہے کہ، فجائیہ point-- form.agreement.checked اگر نہیں، اس کے ساتھ ساتھ صارف کو چللاو. 

تو آپ دیکھیں گے اس نحو ہے جاوا اسکرپٹ میں بہت عام، جہاں آپ کو اس بندیدار سنکیتن ہے. آپ یہاں ایک چیز کے ساتھ شروع. آپ کو ایک گہرے میں کودو پاس ورڈ کی طرح ایک پراپرٹی. اور پھر آپ کو اس کی اصل قیمت پر حاصل کرنے کے. اور پھر، یہاں ان پٹ ہے. یہاں نام پاس ورڈ ہے. اور اس کی قیمت جو کچھ بھی ہے انسانی اصل میں ٹائپ ہے. 

ان میں سے سب میں تو مقدمات، میں جھوٹے واپس. لیکن اگر نہیں، میں سچ واپس. اور اس طرح اب ہم دیکھ جب مجبور استعمال آپ کو جھوٹے واپس آ جائیں گے صارف کی کیا کر رہے روکنے اور اسے بنانے کے لئے یا اس کا انتخاب کریں پھر یا پھر ٹائپ کریں. دوسری صورت میں، ہم سچ واپس. 

اور مجھے ایک متعارف کرانے اس کے دیگر مختلف صرف اس سے کچھ سمجھ بیج. ویسے، اس کا ورژن 2 میں، فارم 2-- میں ایک ہاتھ کی ایک لہر کے ساتھ یہ کروں گا. یہ، جاننا ان لوگوں کے لئے، ہے jQuery ورژن، کرنا چاہتے ہیں جو تم میں سے ان لوگوں کو کہ خاص طور پر لائبریری میں بگونا. لیکن start-- اور کسی بھی سوال ہیں؟ مجھے اس وقت کی وجہ سے کے لئے روک دیں کہ تیز رفتار اور ایک بہت تھا. 

لیکن یہاں اچھی بات یہ ہے کہ سب کوڈ کے بہت ایک ہی ہے. نئی چیزیں ڈوم کیا ہے؟ ان rectangles کیا ہیں؟ ان مراکز کیا ہیں؟ ایک گمنام تقریب کیا ہے؟ ایک ایونٹ ہینڈلر کیا ہے؟ لیکن شکر ہے، اس کی سب سے زیادہ صرف ہے ہفتے صفر، کا کہنا ہے کہ، سے مکمل دائرے. بالکل ٹھیک. تو تھوڑا سا زیادہ دلچسپ چیز؟ ویسے، سب سے پہلے، مجھے جانے دو آگے اور Google Maps کو کھولنے. اور آپ کو ایک کے لئے کہ محسوس کریں گے لمحے، تقسیم دوسرے پر، کیا ہوتا ہے جب محسوس میں کافی تیزی سے کلک کریں. اور ہارورڈ میں اس سلسلے ایسا ہے تیزی سے آپ واقعی یہ محسوس نہیں کرتے کہ. لیکن آپ کی قسم کی طرح کے بارے میں کیا دیکھتے ہیں میں پر کلک کریں اور بہت تیزی سے ھیںچیں ہے؟ آپ کو آن لائن دیکھ کے لوگ، آپ 0.5x رفتار سے اس سست تو، آپ کو اس سے بہتر دیکھ سکتے ہیں. 

صرف کیا ہو رہا تھا میں کلک کیا اور گھسیٹ سے پہلے؟ مجھے کرتے ہیں یہاں کی کوشش کرتے ہیں 90210 کی طرح کچھ،. کی دور چلتے ہیں. وہ بھی، بہت تیز تھا. کس طرح ڈزنی ورلڈ کے بارے میں؟ ہم وہاں جا رہے. ٹھیک ہے. آپ کو ایک تقسیم سیکنڈ کے لئے کیا دیکھا؟ بس، چوکوں، کی طرح، ٹھیک ہے؟ ٹائل کے لئے جگہ دار؟ 

ویسے، یہاں کیا چل رہا ہے؟ گوگل نقشہ جات کی ایک اچھی مثال ہے AJAX کہا جاتا ہے کہ اس ٹیکنالوجی. ہم شروع کریں گے جہاں یہ ہے ایک خاص طور پر میں جاوا سکرپٹ کو استعمال کرنے کشش راستہ. پیچھے اگلا، دوسرا دن میں، وہاں تھا MapQuest نامی اس ویب سائٹ. میں لے لیا جانا چاہئے ایک 1990s سے اس کے اسکرین شاٹ، آپ کرنا چاہتے تھے تو جہاں نقشے پر یہاں تک نظر آتے ہیں، آپ لفظی ایک تیر پر کلک کریں گے سب سے اوپر ہے کہ آپ سے ظاہر ہوتا ہے نقشہ کی ایک مختلف مربع. آپ آپ کو بائیں منتقل کرنا چاہتے تھے تو تمہیں دکھایا ہے کہ ایک تیر کلک نقشہ کی ایک مختلف مربع. اور بعض ویب سائٹس اب بھی اس آج کیا. لیکن پھر بھی MapQuest ہو گیا ہے گوگل نقشہ جات کی طرح، بہتر. 

اس کے بجائے، کیا یہ بہتر ہے دن AJAX استعمال کرتے ہیں کہ ویب سائٹ ہے. AJAX-- ورنہ طور پر جانا جاتا غیر ہم آہنگ جاوا اسکرپٹ اور XML، جو کہہ کے صرف ایک پسند ہیں طریقہ ہے ایک ٹیکنالوجی یا تکنیک ہے کہ جاوا سکرپٹ کو استعمال ایک براؤزر کی اجازت دیتا ہے اضافی HTTP درخواست بنانے کے لئے بعد صفحہ بھری ہوئی کیا گیا ہے. تو اس کا کیا مطلب ہے؟ ویسے، اس قسم ہو جائے گا Gmail میں پریشان اگر تم چاہتے تھے ہر وقت آپ کے میل چیک کرنے کے لیے، آپ لفظی کنٹرول R یا مارا تھا کمانڈ ر یا دوبارہ بٹن پر کلک کریں اور پوری رفو صفحہ دوبارہ لوڈ کریں گے. ٹھیک ہے؟ یہ سفید فلیش گا شاید دوسرے کے لئے. تم بیوکوف ترقی بار دیکھیں گے. آپ نئے ہے تو صرف دیکھنے کے لئے میل، پورے ویب صفحہ اور یو آر ایل آپ کو دوبارہ لوڈ کرنا پڑے گا پر ہیں. 

لیکن اس Gmail میں کیا ہوتا ہے نہیں ہے. ٹھیک ہے؟ آپ کو ایک نیا ای میل میں حاصل کرتے ہیں جی میل، کیا سکرین پر ہوتا ہے؟ یہ صرف صحیح، کو ظاہر کرتا ہے؟ یہ صرف جادوئی ظاہر ٹیبل میں ایک نئی صف کے طور پر. یہ اصل میں شامل ہے ایک پیچیدگی کے مہذب رقم. اصل میں، آپ کو اس درخت کے بارے میں لگتا ہے کہ اگر، جو یہاں ایک سادہ ہے، اگرچہ، Gmail-- اور میں دیکھنا پڑے گا کوڈ sure-- ہونا شاید ایک HTML ٹیبل ہے یا ہو سکتا ہے یہ دیتا ہے کہ ایک بے ترتیب فہرست کے طور پر آپ ان باکسز ای میلز میں سے ہر ایک. 

اور اس لئے تم اس تصور تو تم جب یاد میں ایک درخت ہے قسم کی قسم کی طرح لگ رہا ہے Gmail کا استعمال اس طرح، گوگل اہ، جب احساس، آپ کو ایک نیا ای میل ہے، یہ نہیں کرتا پورے درخت کی تعمیر نو کرنا چاہتے ہیں. بلکہ، اس میں نوڈ کو تلاش کرنے کے لئے چاہتا ہے آپ کے ان باکس کی نمائندگی کرتا ہے درخت اور صرف ایک نیا نوڈ داخل. 

پانچ، جہاں آپ pset کے لئے اتنا بہت ملتا جلتا ایک ہیش ٹیبل میں نوڈس داخل کرنا پڑا، اسی طرح گوگل کے ذریعے، کرتا ہے یہ لکھا ہے کہ جاوا سکرپٹ کے کوڈ، اس درخت گزرنا، جہاں پتہ ونڈو کے اس باکس حصہ ہے، اور پھر ایک نئی صف داخل. اور ایک نئی صف صرف ایک مطلب ہے ایک درخت میں نئے مراکز یا اس سے زیادہ. 

اور اس طرح اس AJAX ٹیکنالوجی ہے کہ بالکل اس کے لیے کی اجازت دیتا ہے. آپ کو ایک یو آر ایل کا دورہ کیا ہے ایک بار، تاہم یہ طویل پاگل، اور صفحہ ہے ایک بار اگر آپ اب بھی کر سکتے ہیں، لوڈ کیا گیا سے زیادہ اعداد و شمار پر قبضہ یہ ہے کہ آیا internet-- ایک ای میل یا ایک map-- کے ٹائل پردے کے پیچھے اس پر قبضہ اور پھر صفحہ میں داخل انسانی واقعی نہیں کرتا ہے تاکہ اس کے لئے انتظار کرنا پڑے. 

فیس بک رسول اسی طرح کام کرتا. دیگر websites-- کی کسی بھی تعداد اوہ، اصل میں، یہاں تک کہ اس. میں اس، واضح طور سے، اس قسم کی ہے، کا مطلب ایک پریشان کن ان دنوں کی خاصیت. میں cats-- اس کے لئے تلاش شروع تو ایک خوفناک صارف کے تجربے کی طرح ہے. یہ صرف میرے لئے تلاش شروع ہوتا ہے. ویسے یہ کیا کر رہا ہے؟ یو آر ایل واقعی تبدیل کر دیا گیا میں ٹائپ کرنا شروع کر دیا کے بعد. لیکن کیا اس پار جا رہا ہے دلچسپ ہمم، ٹھیک wire--. کیا میں جا رہا ہے تار یہاں صرف کہ weirder ہو جاتا ہے. 

ٹھیک ہے. تو مجھے آگے بڑھو اور معائنہ کرنے کی اجازت عنصر اور نیٹ ورک کے ٹیب پر جانا اور اس کو بنانے کی کوشش تکنیکی اور بلیوں کے بارے میں کم. میں ٹائپ کے طور پر، لفظی، بلیوں and-- کیا ہو رہا ہے per-- مجھے لگتا ہے کہ کلک کرنے کے لئے نہیں جا رہا ہوں. بالکل ٹھیک. تو یہاں نیچے، ہر کیا ہو رہا ہے وقت میں بظاہر، ایک کردار ٹائپ؟ کی طرح، کم سطح؟ کیا ان میں سے ہر ایک کے ساتھ کیا ہو رہا ہے میں اپنے کی بورڈ پر حروف ٹائپ کر رہا ہوں؟ جی ہاں؟ سامعین: [اشراوی]. 

DAVID MALAN: بالکل. ان حروف میں سے ہر ایک ہے ایک وقت میں گوگل، ایک کے لئے جا. انہوں نے ایک سٹرنگ کی تعمیر کر رہے ہیں ان کے سرور پر اس کی نمائندگی کرتا ہے میں نے ابھی تک میں ٹائپ ہے سب کچھ. اور ہر بار میں ٹائپ کریں ایک اور کردار، وہ ایک ان کے خفیہ چٹنی استعمال الگورتھم تلاش اور پتہ، وہ اس بلی صفحے مطلب ہے اس بلی صفحے یا پسند یا؟ کچھ احساس میں، اس کے ساتھ مجھے فراہم کرتا کہ میں بہتر تجربہ میں بھی ایسا نہیں کرتے میری سوچ کو مکمل کرنے کی ضرورت ہے. اور بے شک، یہ ایک مفید ہے بات، عام طور پر خود تکمیل. ان الگورتھم کافی اچھے ہیں تو اور میری تلاش کے لئے کافی واضح ہیں، میں پورے لفظ ٹائپ کرنے کی ضرورت نہیں. انہوں نے مجھے بتانے کے لئے جا رہے ہیں کیا یہ میں اصل میں کے لئے تلاش کر رہا ہوں. تو کیا گوگل فوری مطالبہ تلاش صرف، AJAX استعمال کر رہا ہے ان کی درخواست کرنے کی اجازت دیتا ہے کہ کوڈ کا استعمال کرتے ہوئے ایک ویب براؤزر کے ذریعے اضافی مواد اس کا استعمال کر پردے کے پیچھے نئی زبان، جاوا. تو ہم نے چھوڑ دیا ایک جوڑے منٹ ہیں. اور مجھے میرے دوست کو بلالے اسٹیج پر کولٹن اپ، ایسا لگ رہا تھا کے بعد سے خاص طور پر مزہ آخری بار ایک ٹیکنالوجی متعارف کرانے کے لئے تم میں سے بعض اس دلچسپی کا اظہار کیا ہے آخری منصوبوں کے لئے میں. ہم اسے لانے کے لئے دلچسپی کا سامان ہو نے سوچا ایک رضاکار کو، اگرچہ، آج آپ کو ایک کے علاوہ ظاہر کرنے کے لئے ہاں you-- اجازت دیتا ہے کہ اس، میں سب سے پہلے اس کے ہاتھ کو دیکھا. اپ چلو. بہت اچھا کیا. بہت اعلی. میں نے اس پر پیش کرنے کے لئے جا رہا ہوں صرف ایک لمحے میں سکرین. سب کے لئے آپ کا نام کیا ہے؟ 

EFA میں Efa کی ہوں. 

DAVID MALAN: سے Etha؟ 

EFA: Efa کی. 

DAVID MALAN: Efa کی؟ 

EFA: جی ہاں. 

DAVID MALAN: آپ کو دیکھنے کے لئے اچھا. بالکل ٹھیک. مجھے اس کے لئے تیار حاصل کرنے کی اجازت. کے پر آو یہاں کولٹن کے ساتھ وسط. کیا کولٹن اس کے ہاتھ میں ہے آج ایک ریموٹ کنٹرول ہے. تو بجائے صرف ایک میں وہاں کھڑے مقابلے کے ارد گرد تلاش کر تین جہتی دنیا کولٹن کیا کے طور پر، اب سے Efa کر سکتے ہیں اصل میں جا کر کے ارد گرد چلنے، نیچے، بائیں، اور ایک طرح کا حق نن یا ایکس بکس کنٹرولر. EFA: میں اسٹیج گر ​​کرنے کے لئے جا رہا ہوں. DAVID MALAN: تو میں لونگا یہاں تقریبا کھڑے. لیکن یہ ایک خطرہ ہے. ٹھیک ہے. لہذا آگے بڑھیں اور ان پر ڈال دیا. مجھے آگے بڑھو اور یہاں کی سکرین پر تبدیل. مجھے روشنی دھیما ہیں. اور کولٹن، مجھے دو آپ کے لئے اگلے کھڑے آئے. 

آپ یہاں وضاحت کرنا چاہتے ہیں مائک کے ساتھ ہم کیا کر رہے ہیں؟ یہاں تم جاؤ. 

کولٹن: ضرور. تو اب ہم ہیں آنکھ اپ لوڈ، میں operating-- کام نہیں لگتا نظام، لیکن اہم پروگرام، جہاں آپ تمام کھیل تک رسائی حاصل کر سکتے ہیں اور آپ کی لائبریری میں ہیں کہ اطلاقات. تو اب، یہ کہنا چاہئے ٹچ پیڈ شروع کرنے کے لئے نل. ٹچ پیڈ پر ہونے جا رہا ہے ہیڈسیٹ کے دائیں جانب. لہذا آگے بڑھیں اور tap-- EFA: اوہ، آدمی. DAVID MALAN: جی ہاں، تم وہاں جاؤ. Efa کی دیکھ رہا معیار بہت اعلی معیار کی ہے. یہ یہاں صرف وائی فائی ہے. کولٹن: تم تو کیا ایسا کرنے کے لئے کرنا چاہتے ہیں جا سب کی طرف دیکھ رہا ہے سکرین کے دائیں. جی ہاں، سب سے اوپر دائیں طرف اس کھیل. اور پھر آپ کو منتخب کر رہے ہیں جب یہ، پھر ٹچ پیڈ نل. میں نے اس Dreadhalls لگتا. اور پھر یہاں a-- ہے، دو مجھے آپ کے لئے آپ کے شیشے منعقد. 

تو میں صرف اس ایک کنٹرولر دی. تو اب وہ کھیل کو کنٹرول کر سکتے ہیں. انہوں نے کہا کہ اس طرح کے ارد گرد اور سامان منتقل کر سکتے ہیں. لہذا آگے بڑھیں اور سب سے اوپر کرنے کے لئے نظر آتے ہیں. آپ کو نئے کھیل کو دیکھنا چاہیئے. لہذا آگے بڑھیں اور آپ کو یہ کر سکتے ہیں. اب، آپ کو کنٹرول کرنے کے قابل ہونا چاہئے کنٹرولر کے ساتھ اپنے آپ کو، کے طور پر اچھی طرح سے، جیسے ہی کے طور پر کھیل یہاں تک بوجھ. یہ ایک چھوٹا سا تھوڑا سا ڈراونی ہو سکتا ہے. 

EFA: اب آپ مجھے بتاو. ٹھیک ہے. 

کولٹن: ٹھیک. تو آپ کے ارد گرد منتقل کر سکتے ہیں اس بات کی تصدیق. ٹھیک ہے. آپ کے ارد گرد منتقل کر سکتے ہیں. کامل. آپ نیچے دیکھو تو اگر، آپ کو ایک نقشہ ہے. تم کہاں ہو نقشہ آپ کو دکھاتا ہے. تم کمرے میں چاروں طرف دیکھ سکتے ہیں. آپ مکمل طور پر کے ارد گرد تبدیل کر سکتے ہیں. جی ہاں، بالکل. مڑنا. 

تو اپنے بائیں کرنے کے لئے نظر. میں کچھ آپ کر سکتے ہیں ہے کمرے میں ایک بیرل پر اٹھا. 

EFA میں کیسے حاصل کروں راستے سے باہر نقشہ؟ کولٹن: اپ دیکھو. بس نظر آتے ہیں. بالکل ٹھیک. تم وہاں جاؤ. اب آگے بڑھو اور صرف کے ارد گرد کی باری ہے. تو اپنے بائیں دور نظر آتے ہیں. بائیں چلتے رہو. بائیں دیکھتے رہو. چلتے رہو. جی ہاں. 

EFA: اوہ، اس طرح. 

کولٹن: جی ہاں. کنٹرولر کے ساتھ اس کی طرف چلو. تم وہاں جاؤ. اب یہ اسے اٹھا کہنا چاہئے. تم وہاں جاؤ. اسے اٹھا. بالکل ٹھیک. اب، اس کمرے سے باہر حاصل کرنے کی اجازت. آگے بڑھو اور اس کے دروازے پر چلنا. تو تم یہ کہتے hold-- لئے جا رہے ہیں اسے کھول مجبور کرنے کے بٹن کو پکڑ. لہذا آگے بڑھیں اور بٹن کو پکڑ. جی ہاں، اس کو کھولنے پر مجبور. بالکل ٹھیک. بہت اعلی. اب ہم کمرے سے باہر چل رہے ہیں. تو میں نے باقی چھوڑ کر جا رہا ہوں اور آپ کے لئے آپ کو باہر تلاش کیا دیکھتے ہیں. EFA میں سیاہ کمرے میں نہیں جا رہا ہوں. اوہ، انتظار کرو. اب میں اندھیرے ہال نیچے جانا پڑے؟ ٹھیک ہے، میں [اشراوی] واپس جا رہا ہوں. کولٹن: ٹھیک. کچھ اشیاء لینے کے لئے. کچھ سککوں کی طرح لگتا ہے. یہ ایک تالا پک ہے. آپ کو مل جائے تو ایک مقفل دروازے، تم اس کا استعمال کر سکتے ہیں. تم ڈر گئے؟ 

EFA: ابھی نہیں. کولٹن: ٹھیک ہے. 

ہاں Pretend--. بس تم دکھاوا اصل میں وہاں کھڑے. اور آپ around-- کردیں تو آپ اسے استعمال کرنے کے لئے مل گیا ہے. لیکن یہ سمجھ میں آتا ہے. DAVID MALAN: Efa کی جاری ہے اور جبکہ اس کوڈ سے ہم دن کر سکتے ہیں کے بعد سے، کھیلنے، ہم سب ٹپ پیر یہاں کر سکتے ہیں. لیکن ہم دو دوسرے جوڑوں ہے، آپ کو آئے گا اور کھیلنے کے لئے چاہتے ہیں تو. دوسری صورت میں، ہم دیکھیں گے آپ نے بدھ کے روز اگلے. آج ہمارے رضاکار لئے آپ کا شکریہ. [تالیاں] 

[MUSIC - "Seinfeld کے تھیم"] اسپیکر 1: ٹھیک ہے، میں ہوں ڈال ایک نئے PL پر سوار. میں صرف OLPF-- تبدیل 

اسپیکر 2: تو کیا بالکل وہی جو آپ کر رہے ہیں؟ 

اسپیکر 1: ٹھیک ہے، میں سے ہر ایک these-- یہاں میں آپ کو یہاں اس سے دکھائیں گے. تم یہیں دیکھ سکتے ہیں. 

سپیکر 3: میں نے ان کے ساتھ اچھے ہوں. آپ کو کچھ زیادہ کرنا چاہتے ہیں؟ 

4 اسپیکر: کوئی، میں اچھا ہوں. [اشراوی]. 

سپیکر 3: کوئی، [اشراوی]. کچھ ہے. اسپیکر 1: مختلف رنگ. اسپیکر 2: ٹھیک ہے. اسپیکر 1: تو بالآخر کیا یہ یہ رنگ کو ایڈجسٹ ہے کرتا of--