>> ყველა უფლება.
ასე რომ, JavaScript.
თითქმის ყველას ამ ოთახში ალბათ გარკვეულწილად
კომფორტს ეს თუ არა ეს იყო გზა უკან, როდესაც SC50
ან ეს იყო პირადი ვებ პროექტების, ან თუნდაც
თუ გააკეთეს ცოტა იგი გასულ PHP ბაზის პროექტი,
მაგრამ ყველაზე ნაწილი, ბევრ თქვენგანს,
მაშინაც კი, თუ თქვენ გაქვთ გარკვეული კომფორტი
ერთად JavaScript იქნებ არ იქნა მიღებული
თავისთავად, თუ როგორ ენის სამუშაოები და რა მიდის
ქვეშ hood და რასაც ჩვენ ვაპირებთ ცდილობენ
ამის გაკეთება დღეს კანი უკან ზოგიერთი ტექნიკური ფენების
რა JavaScript, როგორ ის განსხვავდება ენა
როგორიცაა PHP, თუ როგორ შეიძლება გამოიყენება არა მხოლოდ კლიენტის მხარეს
არამედ სერვერის მხარეს და მაშინ ფოკუსირება ძალიან კონკრეტულად
ამ ფარგლებში, შეამჩნევთ JS რომელიც არსებითად ტირაჟი დროს,
პროგრამა, რომელიც თქვენ შეუძლია შეასრულოს JavaScript კოდი,
სერვერის მხარეს და ეს ხდება უფრო და უფრო პოპულარული სახის
of იმავე მასშტაბის ამ დღის განმავლობაში, ალბათ, Ruby და PHP
და Python და თქვენ ნახავთ
რომ მას აქვს საკმაოდ ძლიერი თვისებები გზით გარკვეული
ჩაშენებული ენა აშენებს.
მაგრამ პირველი, ზოგიერთი ადვილი პერსონალის უბრალოდ შეგახსენოთ
როგორ ამ ენაზე მუშაობს და თუ თქვენ გაქვთ პრობლემები ხედავს რაიმე
ამ, უბრალოდ shout out და ჩვენ შეცვალოს.
ასე რომ, ერთი, როგორც PHP არსებობს არ ცნება მთავარი ფუნქცია,
თქვენ დავიწყო წერა კოდი
და თქვენ შეგიძლიათ თაობაზე ინტერპრეტაცია მას ზემოდან.
კონტექსტში ბრაუზერის
ან რაიმე სერვერის მხარეს ჩვენ დავინახავთ, რამდენიმე მაგალითი
ცოტა.
პირობები, syntactically ექვივალენტური PHP ისევე როგორც C,
C + + და სხვა ენებზე ასე რომ მხოლოდ გადმოგცეთ გრძნობა
თუ როგორ შეიძლება ჩვენ ვქმნით მას,
არსებობს მხოლოდ კანონიკური მდგომარეობა.
ლოგიკური გამონათქვამები, ზუსტად იგივე syntactically როგორც ვნახე
იმ იგივე სხვა ენებზე, როგორც Oring
და დამთავრებული რამ ერთად.
JavaScript აქვს კონცენტრატორები, ჰგავს PHP და სხვისი do
და თქვენ არ შემოიფარგლება, როგორც in C to განუყოფელი primitives
ისევე, როგორც სიმბოლო და ints შეიძლება რეალურად ამის გაკეთება სხვა სახის ღირებულებებს.
მარყუჟების. ასე რომ, ეს არის ის, ზუსტად იგივე
და ალბათ ათეული ენებზე, ხოლო მარყუჟების, ნუ ხოლო მარყუჟების
და შემდეგ ამ ნომრის აქ.
ასე რომ, ეს არის ერთგვარი ცნობილია, როგორც სწრაფად ჩამონათვალს
და ეს არის ძალიან ჭკვიანი გზა უბრალოდ, როგორც PHP აკეთებს
თითოეული FU როგორც ბარი თქვენ შეგიძლიათ ასევე,
აქვს JavaScript ობიექტი, სადაც ობიექტი არის სახელი
ცვლადი აქ, ვთქვათ, var i ობიექტის და თითოეულ iteration
ამ მარყუჟის, მე იქნება ერთი
გასაღებები, რომ ობიექტი.
ასე რომ, თუ თქვენ გაქვთ ობიექტი სტუდენტი, და სტუდენტმა ID
და სახელი და სახლში, iteratively i მიიღებს
ღირებულების ID და სახელი და სახლი და შეგიძლიათ მათთვის ინდექსი
თარგმნეს ობიექტი, როგორც იმისა, რომ ეს მასივი გამოყენებით კვადრატული ფრჩხილი
notation მისაღებად ღირებულება გასაღები ID ან სახელი
ან სახლი და სხვ.
და პირიქით, საერთო ვარაუდი, JavaScript აპროტესტებს,
თვისებები არ არის აუცილებლად გარანტირებული უნდა იყოს
იმავე მიზნით, ეს არის ასევე ნამდვილი PHP ასე არ შეუძენია
რომ ყველაფერი დარჩება იმავე მიზნით
რომ თქვენ დააყენა იმ ძირითადი ღირებულება წყვილი შევიდა ობიექტი.
როგორ შესახებ კოლექტორები?
არსებობს რამდენიმე გზა დაწერა syntactically
მაგრამ ეს, ალბათ, ყველაზე საერთო ახლა მხოლოდ გამოყენებით მოედანზე
bracket ნოტაცია.
ასე რომ, ეს არის ცვლადი დარეკეთ ნომრებზე შემცველი მასივი
ექვსი რიცხვებით არსებობს, აქ არის მარტივი string
და შეამჩნია რა არ არსებობს ამ მაგალითები,
რა არის JavaScript როგორც ჩანს, აკლია.
ჰო. ასე რომ, არ არსებობს ცნება აკრეფით, რა თქმა უნდა არ არის
ამ კონტექსტში, მაგრამ ეს მართლაც სიმებიანი.
ასე რომ, JavaScript აქვს სახის და რომ მართლაც მასივი
რაც თავისთავად ტიპის და თითოეული ელემენტები
რომ მასივი იყო type ნომერი, JavaScript მოუწოდებს მათ.
ასე რომ, ის თავისუფლად აკრეფილი ენა და ვნახავთ
რომ JavaScript, როგორიცაა PHP აქვს პირადობის ოპერატორი
და სხვა მექანიზმების რეალურად შემოწმების, თუ რა ტიპის
ზოგიერთი ცვლადის როგორც შეცდომა შემოწმება
და სხვა პროგრამებს.
აქ არის ნიმუში ობიექტი შეიცავს მხოლოდ ID და სახელი.
და ახლა, შეამჩნევთ, რომ ჩვენ გამოყენებით curly bracket ნოტაცია,
წანაცვლება და თეთრი ფართი არის ერთგვარი უაზრო
და ეს აცხადებს ცვლადი რომლის სახელიც არის Rob
და რომლის ID არის 1 და თარიღი type აქ არის ჩვენი
და სიმებიანი შესაბამისად.
და მაშინ ეს არის რაღაც ოდნავ განსხვავებული
თუ თქვენ ოდესმე გაკეთდეს არაფერს აიაქსი ამ დღეებში?
თქვენ ალბათ გამოიყენება ობიექტის მოსწონს ეს
მაგრამ რა აღსანიშნავია აქ?
რა არის syntactically ოდესმე იმდენად განსხვავებული, მხოლოდ რამდენიმე
რამ შორის მაგალითად რომელიც მართლაც პატარა
და ეს დიდი მაგალითი.
ასე რომ, პირველი layman მიერ ტერმინი, რა არის ეს?
რა არის ტიპის პერსონალის იტყვით?
OK, ეს მასივი, ეს მასივი რა?
>> ობიექტები.
>> OK, ეს მასივი ობიექტები.
და ახლა, ფოკუსირება მხოლოდ ერთი - ერთი ასეთი ობიექტი,
რა არის სხვადასხვა შორის და ამ?
>> კლავიში strings.
>> Yeah. ასე რომ, კლავიში strings,
და გასაღებები რეალურად strings ორივე შემთხვევაში
და ეს არის ერთგვარი იდიოტური
ჩემი აზრით ისტორიული დიზაინი გადაწყვეტილება მაშინ, როდესაც თქვენ იყენებთ
JSON, JavaScript Object Notation,
რომელიც არსებითად სატრანსპორტო ფორმატში
გაგზავნის მონაცემები როგორც წესი მასშტაბით ქსელის
შორის კლიენტის და სერვერის, თქვენ უნდა გვახსოვდეს
რომ ეს არ არის რეალურად ძალაშია JSON და ეს არის ერთ
ამ FYIs თუ თქვენ ოდესმე bang თქვენი უფროსის წინააღმდეგ კედლის
რამდენიმე წუთი არ არის კარგი ამიტომ, ეს არ მოქმედებს JSON
რადგან კლავიში რეალურად არ სიტყვებზე.
JSON idiotically მოითხოვს გასაღებები არა მხოლოდ სიტყვებზე დაყრდნობით,
მაგრამ, რომ ისინი ორმაგად სიტყვებზე დაყრდნობით, ერთჯერადი შეთავაზებები არ არის საკმარისი.
ასე რომ, სულელური პატარა რამ და უფრო fun ფაქტი
დღევანდელი მიზნებისათვის, მაგრამ ეს ძალიან იქნება ძალაში JavaScript
უბრალოდ არ - converse სიმართლეს არ შეესაბამება.
ყველა უფლება.
ასე რომ, ჩვენ დავინახავთ, უამრავი მეტი რომ.
ყველა უფლება.
ასე რომ, JavaScript syntactically ალბათ საკმაოდ
ნაცნობი, ნებისმიერი, ვინც არ არ გამოიყენება JavaScript ადრე
ეს არ არის დიდი ნახტომი საწყისი PHP ან საუკეთესო ნებისმიერი პროცედურული ენა
რომ თქვენ შეიძლება არ გამოიყენება.
ასე რომ, დღეს ჩვენ ფოკუსირება საინტერესო ასპექტები
of JavaScript განსაკუთრებით კონტექსტში არ JS
მაგრამ არა მხოლოდ იმიტომ, რომ აქამდე თქვენ, ალბათ,
თუ გამოიყენება Javascript, გამოიყენება მას შიგნით ბრაუზერში.
ასე რომ, არ JS გარემო შემდეგ ცოტა აპირებს
საშუალებას მოგვცემს, რათა შეამოწმონ JavaScript კოდი კლიენტი -
სერვერის მხარეს, მაგრამ პირველი, მოდით შევხედოთ
ის, რაც არის ცოტა მეტი კლიენტის მხარეს.
ასე რომ, მე წასული და ეს არის დაკავშირებული on კურსების ნახვა,
თუ გსურთ, რომ ითამაშოს გასწვრივ, არსებობს ორი subdirectories
დღევანდელ Zip of მოუწოდა წყარო უხეშად zip ნახვა
და ეს არის მხოლოდ ერთი რამდენიმე მაგალითი reminiscing
რამ, რაც შეიძლება არ ჩანს ადრე და მე სახის ჩაშენებული მათ
მდე მარტივი ოდნავ უფრო რთული tease
out ზოგიერთი თავისებურება JavaScript.
ასე რომ, მოდით წავიდეთ წინ და მიიღოს შევხედოთ მაგალითად ამ.
ასე რომ, სამწუხაროდ blink tag იყო დაიღუპა off რამდენიმე წლის წინ
როგორც გზა გვაქვს გალამაზებაში და გალამაზებაში
და blink tag იყო ფაქტიურად ღია bracket blink ახლო bracket
და ეს ერთგვარი არა აღარ ჩვენთან.
მაგრამ, ჩვენ მაინც აღადგენს ეს იდეა tag მხოლოდ სახის
ფიქრი, რომ ეს ლოგიკურად, თუ როგორ დადიხართ
მიღების რაღაც ამ blink ინტუიციურად?
ვთქვათ, თქვენ იცით, ცოტა ცოტა JavaScript ან CSS
ამ ეტაპზე, ეს OK, თუ არა.
>> უცნობია დრო ამოიწურა და ღონისძიებები მას შემდეგ მე მონიშნო იგი
გარეთ და ნახოთ კიდევ ერთხელ.
>> Yeah, სრულყოფილი.
ეს არის ერთგვარი პროგრამირების 101,
რას მივაღწიოთ ვიზუალური ეფექტი ასე?
ისე, თქვენ რატომღაც უნდა აჩვენოს რაღაც
და შემდეგ დამალვა რაღაც, შოუ რაღაც, რაღაც ღონისძიებები
და როგორც Jonathan სთავაზობს გამოყენებით გარკვეული დრო ამოიწურა,
გარკვეული გრაფიკის შეგიძლიათ გააკეთოთ ეს არაერთხელ გარეშე სჭირდება
გამოყენება მარყუჟი ან რამე მაგდაგვარს.
ასე რომ, ნება მომეცით წასვლას blink-0.html
და ნება მომეცით შემცირება შრიფტის ცოტა
ასე რომ, მეტი ამ შეესაბამება.
და მოდით შევხედოთ რა ხდება აქ.
ასე რომ, პირველ რიგში, შეამჩნევთ, რომ სხეულის
ამ გვერდზე არის სუპერ მარტივი, შიგნით ორგანო
გვერდზე არის მხოლოდ div.
მე უკანონოდ გადაეცა ID მისალოცი
და რომელიც შეიძლება არაფერს იმდენად, რამდენადაც ეს უნიკალური
და მერე უბრალოდ უნდა გარკვეული მარტივი ტექსტი, hello მსოფლიოში.
ასე რომ, თუ მე ახლა გადახვევა up, შეამჩნია რამდენიმე fluffy სტილის.
ასე რომ, მე ვამბობ, მკვეთრი მისალოცი, რომელიც, როგორც იცით
in CSS მხოლოდ იმას ნიშნავს ცალსახად იდენტიფიცირება ელემენტს
იდეა მისალოცი,
შრიფტის ზომა აპირებს თვითნებურად იყოს ეს, მარჟა და ტექსტი გასწორება.
ასე რომ,, უინტერესო ესთეტიკური დეტალები
დაახლოებით ცენტრი ტექსტში.
ასე რომ, საინტერესო ნაწილი არის სცენარი tag აქ
რომელიც მე არ დააყენოს შიგნით ხელმძღვანელის გვერდზე.
ასე რომ, we'll - შეგიძლიათ გააკეთოთ ამ ნებისმიერი რაოდენობის გზები
და ვნახავთ, რამდენიმე iterations ამ ამავე პროგრამის
მაგრამ მოდით დავიწყოთ ზემოდან.
ასე რომ, მე გამოცხადდა ფუნქცია მოუწოდა რეიტინგი
და როგორც ჩანს, იგი იყენებს ამ ჩაშენებული DOM მეთოდი ეწოდება
getElementById რომელიც ალბათ ერთი უფრო ძლიერი მეთოდები
რომ თქვენ გარეთ ყუთი ერთად JavaScript ეძებს
"მისალოცი" არ უნდა იყოს ორმაგ ბრჭყალებში, როგორც ეს იყო
in HTML ან კარგად არის ამდენი ხანი
როგორც თქვენ სტილისტურად შეესაბამება ამ დღეების განმავლობაში მე ვერ გაბედავს ამბობენ
ბევრი ადამიანი გამოიყენებს Java, ერთჯერადი შეთავაზებები in JavaScript,
ორმაგი შეთავაზებები HTML მაგრამ ეს ნამდვილად არ აქვს მნიშვნელობა,
ისე, სანამ თქვენ თანმიმდევრული.
ასე რომ, აქ თუ თქვენ არ იცნობს, თქვენ შეგიძლიათ რეალურად შედიხართ
ერთად JavaScript CSS თვისებები ელემენტებს.
ასე რომ, შეამჩნია, რომ მე განაცხადა ცვლადში div
და ინახება შიგნით რომ ცვლადი,
მინიშნება, რასაც რომ DOM ელემენტს.
ასე რომ, თუ ფიქრობთ თავში CS50 ან ნებისმიერი კლასის რომელშიც თქვენ ეგონა
დაახლოებით ხის სტრუქტურების და DOM, Document Object Model,
ეს არის მხოლოდ მინიშნება კვანძის in ხე,
რომელიც წარმოადგენს ამ გვერდზე
და თუ div.style.visibility ქონების შეადგენს, ტოლობის, ტოლობის,
ფარული, მაშინ მე მხოლოდ მინდა გადართვა ის
როგორც ჯონათან შემოთავაზებული წინააღმდეგ შემთხვევაში, მე მინდა
გადართვა ეს მეტი იმალება.
ახლა, როგორც მხარეს, რატომ სამმაგი შეადგენს იქ?
ან რა არის ის, რომ წინააღმდეგ ორმაგი ტოლობის?
>> მკაცრი ექვივალენტი.
>> Sorry.
>> მკაცრი ექვივალენტი.
ასე რომ, ეს პირადობის ოპერატორები
იმ შემთხვევაში, თქვენ შემოწმების არა მხოლოდ ღირებულება ცვლადი
როგორც თანასწორი, თანაბარი აზრი არამედ ტიპის იგი.
ასე რომ, მიუხედავად იმისა, რომ ჩვენ არ მითითებული ამ შორს ნებისმიერი მონაცემები
ტიპი ნებისმიერი ცვლადები ამ ან სლაიდები,
არსებობს type ასოცირდება რომ სიმებიანი დამალულია
რომ ღირებულება, ფარული და რომ არის, რა თქმა უნდა string.
ასე რომ, ამ შემთხვევაში, ნამდვილად არ აქვს მნიშვნელობა
რადგან იქ არ არის ისე, რომ ჩვენ ვაპირებთ, რომ აერთიანებს სიმებიანი
"ფარული" ერთად ზოგიერთი სხვა ღირებულება
მაგრამ ეს ხშირად კარგი ჩვევა მე ვიტყოდი, რომ მიიღოთ
შევიდა გამოყენებით თანაბარი, თანასწორი,
თანაბარი ნიშანი ზოგადად კარგია.
ეს გახდის თქვენს კოდი უფრო ძლიერი, როგორც PHP მაგრამ
და JavaScript იმიტომ, რომ თქვენ აწარმოებს
თარგმნეს ზოგჯერ კუთხეში შემთხვევებში სადაც ღირებულება შეიძლება იყოს ნულოვანი
რომ თქვენ შემოწმება და ნულოვანი შეიძლება conflated ყალბი
ან შეიძლება იყოს და როგორც PHP,
Javascript ძალიან შეიძლება მქონდეს მოჩვენებითი ღირებულებების სადაც ნულოვანი
და ცრუ და ბათილად და გაურკვეველი შეიძლება მოსაგვარებლად მინიშნებით
ცრუ.
მაგრამ თუ თქვენ ნამდვილად სურს შევამოწმოთ განსაკუთრებული მნიშვნელობა
ისევე როგორც ნულოვანი, ნომერი, ან ცრუ ლოგიკური მაშინ თქვენ გაქვთ
უნდა გამოიყენოს ეს იდენტობის ოპერატორს.
ასე რომ, ეს შეიძლება მოხდეს მისაღებად თარგმნეს მაინც მიუხედავად იმისა, რომ აქ,
ეს ერთგვარი უაზრო რადგან ჩვენ ვიცით, ჩვენ შემოწმების
სიმებიანი ღირებულება და ეს არ იქნება არაფერი.
ასე რომ, აქ ჯადოსნური მაშინ, თუ გადაფურცლეთ ქვემოთ ამ ხაზის აქ,
როგორც ჩანს, ჩაშენებული შევიდა window ობიექტი
და ეს არის ფუნქცია ბრაუზერში თქვენ ვერ შედიხართ
ამ super მსოფლიო ობიექტის მოუწოდა ფანჯარა,
შიგნით რომ არის ზოგიერთი ფუნქციონალური,
თუ ნაჭერი, რომელიც მითითებული ინტერვალით
და ის, როგორც ჩანს, რა სახის არგუმენტები?
ჰო.
>> ფუნქცია ზარი და დრო.
>> კარგი. ასე რომ, ფუნქცია დარეკეთ და დრო
და ა.შ. განსაკუთრებით მინიშნება ფუნქცია,
მომცეთ ფუნქცია გრძნობა
და ეს ფუნქცია რომ აპირებს
უნდა შესრულებული ყოველი ნომერი მილიწამებში და ამ შემთხვევაში,
ის ყოველ 500 მილიწამებში.
ასე რომ, ეს გზა inducing ეფექტურად და უსასრულო loop
გამოყენების გარეშე iteration მაგრამ ნაცვლად ეუბნება JavaScript
ძრავის შიგნით ბრაუზერის
ამის გაკეთება ყოველ 500 მილიწამებში ან ახლოს არის
500 მილიწამებში, როგორც ეს შეიძლება,
აღმოჩნდება, რომ ქვეშ Hood,
იქ რასაც ღონისძიება loop და ჩვენ დავბრუნდებით ამ
კონტექსტში კვანძის JS რომ უბრალოდ მუდმივად სახის
იჯდა იქ, დაწნული, ელოდება სამუშაოა ჩასატარებელი
და როგორც კი გააცნობიეროს,
500 მილიწამებში გავიდა blink მიიღებს ე.წ. ერთხელ
და ისევ და ისევ არის ერთად რაიმე სხვა სამუშაოს
რომ უნდა გაკეთდეს.
ასე რომ, რა შეგვიძლია გაუმჯობესება აქ?
კარგად, ნება მომეცით გახსნა up blink-1.html
და დემონსტრირება blink-1.html
როგორც ესთეტიურად სრულიად იდენტურია.
ასე რომ, რა შეგვიძლია გაუმჯობესება აქ?
ასევე შეამჩნევთ, რომ ის იყო ერთგვარი აზრი არა აქვს
განსაზღვროს ფუნქცია მოუწოდა Blink რადგან რამდენი
როგორ ბევრგან გააკეთა I მოვუწოდებთ ფუნქცია blink?
>> მხოლოდ ერთხელ.
>> ასე რომ, ერთი.
ასე რომ, ეს არ იყო ცუდი, რომ ფაქტობრივად, ეს, ალბათ, საკმაოდ
სწორი ნაბიჯია.
I განსაზღვრული ფუნქცია blink, I მოვუწოდებთ ფუნქცია blink გზით
ამ პარამეტრი, მაგრამ ტექნიკურად,
არ იყო მიზეზი და საერთო პარადიგმის
in JavaScript არის რეალურად გამოიყენონ ლამბდა ფუნქციები
როგორც თქვენ შეიძლება გავიხსენოთ 51 ან ანონიმური ფუნქციები
სადაც თუ არ უნდა სახელი ფუნქცია,
თუ თქვენ მხოლოდ უწოდა რა თქმა უნდა, ერთ ადგილას,
რატომ ვახვევთ cluttering თქვენი კოდი, cluttering პროგრამისტები გონება
და თქვენი სახელი სივრცე ნამდვილად სიმბოლოები
რომ თქვენ ნამდვილად არ უნდა აღელვებს.
ასე რომ, ეს ვერსია აქ,
შეამჩნია, რომ მე მოუწოდებდა window.SetInterval პირდაპირ
ძალიან ზევით ჩემი script tag მაშინ მე გავლით
in უსახელო ფუნქცია რომ იღებს არანაირი არგუმენტი
და რომ შესანიშნავად ჯარიმა და შემდეგ ორგანოს
რომ ფუნქცია, როგორც ჩანს არის იდენტურია, რაც იყო ადრე
და მხოლოდ სინტაქსური განსხვავება ისაა,
ქვემოთ აქ შემდეგ 500.
მე დახურვის ორგანოს ფუნქცია
და მაშინ მე ვამბობ შეასრულოს, რომ წინა კოდი,
ყოველ 500 მილიწამებში.
ასე რომ, ძალიან მარგინალური ცვლილება
მაგრამ ნაბიჯი რა ალბათ უფრო ელეგანტური
განხორციელების.
ასე რომ, მოდით ეს ერთი ნაბიჯი შემდგომი, თუ მე ახლა წასვლა
თარგმნეს blink ორი, თქვენ იხ. საერთო ბიბლიოთეკა,
ეფექტი, რომელიც აპირებს
სრულიად არათანმიმდევრული ესთეტიურად მაგრამ თუ ჩვენ წავიდეთ
თარგმნეს ორი ვერსია აქ, ცნობა რომ ზევით ჩემი უფროსი,
მე შედის უახლესი ვერსია JQuery.
და შემდეგ, ქვემოთ აქ, მე უბრალოდ გაიწმინდა
up კოდი ცოტა, ის არ იქნება fun მსოფლიოში
გამოყენება და გაგრძელება შექმნილი DOM ფუნქციები
და სახის ნედლეული JavaScript.
ფაქტობრივად, JQuery, როგორც თქვენ შეიძლება იცით გახდა იმდენად პოპულარული,
რომ ადამიანების უმეტესობა უბრალოდ კონფლიქტის jQuery და JavaScript
მაგრამ რეალურად მხოლოდ ვახშამი სასარგებლო ბიბლიოთეკა დაწერილი
მიერ თანამემამულე სახელად ჯონ Resig და მას სხვები
რომ მხოლოდ ხდის ბევრი tedious რამ
in JavaScript ადვილი და უფრო ლაკონური.
ასე რომ, ამ შემთხვევაში, აქ რა ხდება?
ასე რომ, მე ამ გამოჩენა დოლარის ნიშანი, უფრო, რომ
რაღაც მომენტში, მაშინ ეს არის CSS selector.
ასე რომ, ეს ძალიან ჰგავს სულს რა გავაკეთე ადრე,
მაგრამ ამ დროს, მე ვარ სიტყვასიტყვით გამოყენებით hash tag
მიუთითოს უნიკალური იდენტიფიკატორი მოუწოდა მისალოცი
და შემდეგ, როგორც ჩანს, . Css მეთოდი აშენებული
in რასაც ობიექტი არის, რომ მე უბრალოდ შექმნილი
და მე შემოწმების ღირებულება საქართველოს ხილვადობის გასაღები.
და თუ ღირებულება, რომ მთავარი შეადგენს, ტოლობის, ტოლობის, ფარული,
შემდეგ მე ვაპირებ გადართვა და მე ვაპირებ გადართვა იგი ამ დროს
გამოყენებით იგივე მეთოდით რომელიც აშკარად გადატვირთულია
იმ გაგებით, რომ მას აქვს ორი სხვადასხვა ხელმოწერები,
ერთ ერთი არგუმენტი და ერთი ორი არგუმენტები,
მეორე, რომელიც არის setter,
ყოფილი რომლის getter ასე ვთქვათ.
და თუ საინტერესო და თუ თქვენ მინდა არასოდეს რეალურად შევხედე ამ,
თუ ჩვენ წასვლა jquery.css იმედია ყველაზე hit მართლაც ამ
და ხედავთ უფრო ოფიციალური განმარტება
რომ ჩვენ უბრალოდ გამოიყენოს ეს, . Css ქონების დასახელება
და მაშინ setter არის dot CSS
თვისების სახელი და ღირებულება.
ასე რომ, ოდნავ სუფთა, მაგრამ შეამჩნია ერთგვარი ნიმუში აქ
ყოველი iteration ამ კოდექსის,
ჩვენ ერთგვარი ანგარიში გახდა უფრო მჭიდრო და უფრო მჭიდრო და უფრო მჭიდრო
და იქ ამბობენ, რომ უკეთესი დიზაინის
რადგან ჩვენ იყენებთ ვინმე სხვისი კოდი, რომელიც აღმოფხვრილი
ზოგიერთი სირთულის.
ასე რომ, ახლა მოდით ეს კი მარტივი.
და რეალურად, თუ ამოიღონ ყველა quotes თქვენ ნახავთ უბრალოდ ყველა
კომენტარის თქვენ ნახავთ თუ როგორ მარტივი ეს მიღებული.
ერთი განსხვავება აქ, რა თქმა უნდა
რომ მე გამოყენებით გადართვა მეთოდი, რომელიც ასევე მოდის ჩაშენებული
რომ jQuery და ეს მხოლოდ
რადგან სხვისი დაწერა კოდი
რომ რეალურად toggles ხილვადობა პარამეტრით
ნებისმიერი DOM ელემენტს რომ თქვენ გააგზავნეთ.
ასე რომ, უკეთესი და უკეთესი.
ასე რომ, ეს არის ნიმუში,
მიუხედავად იმისა, რომ ეს არის ვახშამი მარტივი მაგალითი და სახის
სულელური net ეფექტი, რომელიც არის მოციმციმე ნაჭერი ტექსტი,
ის, რომ ასეთი აზროვნების პროცესი, რომელიც თქვენ უნდა ვიფიქროთ -
უნდა ფიქრი არ აუცილებლად პირველივე
პასიური წერილობით რაღაც მოახლოებული პროექტი
მაგრამ რა თქმა უნდა, როგორც თქვენ iterate თქვენი მრჩევლის ან ჩემთან
და თქვენი გუნდი შეხვედრებს ან თქვენ უბრალოდ განიხილოს თქვენი თანაგუნდელები კოდი
შესახებ გამკაცრება რამ, არა?
ყოველივე ამის შემდეგ, ისინი ნაკლებად -
ნაკლები ხაზების კოდი თქვენ საბოლოოდ აქვს
თეორიულად ნაკლები შეცდომები თქვენ სავარაუდოდ ეპატიჟება
რადგან არსებობს, უბრალოდ, ნაკლებია კოდი სასადილო ერთად.
ყველა უფლება.
ასე რომ, რამდენიმე takeaways.
Lambda ფუნქციები, ანონიმური ფუნქციები,
ბევრი რომელიც თქვენ მინახავს ადრე
და შემდეგ ასევე უბრალოდ გამკაცრება გოლი, მატჩის ბიბლიოთეკა
როგორიცაა jQuery ამ კონკრეტულ შემთხვევაში.
ყველა უფლება.
რაიმე შეკითხვა?
მოდით ერთი სხვა კლიენტის მხარეს ასპექტი აქ,
ფორმა ნულოვანი ჩვენ ამ წმინდა ეფექტი.
სუპერ მარტივი ფორმა და, როგორც ჩანს, თუ ვცდილობ დააწკაპუნეთ დარეგისტრირდეთ აქ
თავდაპირველად იგი მეუბნება, თქვენ ხართ რეგისტრირებული, ასევე, ნამდვილად არ.
ისე, რატომ არის, რომ?
ისე, აქ ფორმა 0.html ძალიან პატარა კოდი
არ JavaScript გარეშე, ეს სრულიად ყალბი სახის
ფორმა რადგან მოქმედება ღირებულება registered.html
რაც იმას ნიშნავს, არ აქვს მნიშვნელობა რა მე აკრიფოთ ამ ფორმით,
სად არის ის აპირებს გაიგზავნება სერვერზე?
ჰო. ასე რომ, registered.html რომელიც აშკარად HTML ფაილი
რომელიც შესაბამისად, სტატიკური ფაილი, რომელიც აქვს არავითარ
აღების მომხმარებლის input ვთქვათ, იქ არ არის JavaScript კოდი
ჩართული, რომ ის ეძებს URL
ასე რომ ეს არის სრულიად NooP და რომ არაფერი მოხდება
ერთად წარმოდგენილი მონაცემები, მაგრამ ხედავთ სტრუქტურა
საკმაოდ მარტივი HTML5 ფორმა
რომ აქვს რამდენიმე პაროლი რამდენიმე შეყვანის ტიპის.
ასე რომ, მოდით რეალურად ახლა დაამატოთ ზოგიერთი შეცდომა შემოწმება
და ვნახოთ, თუ როგორ შეიძლება გააუმჯობესოს ამ.
ასე რომ, აქ არის ერთგვარი ცუდი კაცის გზა განხორციელების ამ
და ეს არის ერთგვარი nasty ბლოკი კოდი.
ასე რომ, პირველი მოდით გადახვევა ქვემოთ ბოლოში
რა არის იგივე და რა არის განსხვავებული.
ერთადერთი, რაც სხვადასხვა ახლა შორის
და წინა ვერსია რომ მე მოცემული ფორმა და ID
საქართველოს "რეგისტრაცია" შეეძლოთ ყოფილიყო არაფერი მინდა
მაგრამ მისი ნიშნავს, რომ ცალსახად იდენტიფიცირება კი, რომ არ არის
მკაცრად აუცილებელია, რადგან, თუ გვერდი მხოლოდ ერთი ფორმა აუცილებლად I
ვერ პოულობთ მას ერთი jQuery-ის არჩევის მეთოდები.
მაგრამ ეს გზა მხოლოდ იღებს ეს უფრო deterministic.
ასე რომ, თუ მე ახლა ჩემს script tag შეამჩნევთ შემდეგ,
window.onload შეადგენს ანონიმური ფუნქცია.
ასე რომ, რა არის ეს აკეთებს?
ასე რომ, თქვენ შეიძლება გავიხსენოთ, რომ კლიენტის მხარის პროგრამირების -
JavaScript საკმაოდ HTML გვერდებს სხვადასხვა მოვლენების ასოცირდება
ელემენტებით, დაწკაპვით და წარდგენის და ფოკუსირება
და დაბინდვა და სხვა მსგავსი მოვლენები, რომ შეიძლება მოხდეს
როგორც მომხმარებელი, როგორც წესი, ურთიერთქმედებს გვერდზე,
window.onload აკეთებს იმას, რასაც ამბობს.
ფანჯრებზე მთელი loading
ასე რომ ერთხელ ყველა images ყოფილიყო downloaded ერთხელ ყველა ფაილი
უკვე გადმოწერილი და კიდევ გვერდზე უკვე დატვირთულია,
გავაკეთოთ შემდეგი კოდი და შეამჩნევთ, თუ მე გადართოთ ბოლოში
ამ მეთოდის შეამჩნევთ, რომ არ არსებობს ფრჩხილებში
მას შემდეგ, რაც Curly გაუწიოს რომელიც ვთქვა
რომ მე არ შესრულებაში ეს ფუნქცია აქ, ახლა,
ბრაუზერის აპირებს შეასრულოს ეს ჩემთვის, როდესაც იგი განისაზღვრება
რომ გვერდზე უკვე დატვირთული.
ასე რომ, ვნახოთ, რაც ჩვენ გავაკეთეთ,
document.getElementById რეგისტრაცია
ასე რომ, მხოლოდ მაძლევს მინიშნება კვანძის
ხე, რომ საქართველოს აქვს ID რეგისტრაცია.
და ახლა, მე ვაპირებ რეგისტრაცია სხვა ღონისძიება დამმუშავებლის
ამით form.onsubmit იღებს ანონიმური ფუნქცია
რაც იმას ნიშნავს, შემდეგ კოდი უნდა შესრულდეს მაშინ, როდესაც
რომ ფორმა არის წარმოდგენილი.
ახლა, ყველაზე მეტად ეს მხოლოდ სახის მოსაწყენი ლოგიკა.
ასე რომ, თუ ღირებულება ელ ველი სახით არის
"არაფერი", მაშინ თქვენ უნდა უზრუნველყოფს თქვენი ელექტრონული ფოსტის მისამართი,
თქვენ დაწეროთ მომხმარებელი გაფრთხილება და შემდეგ დაბრუნების ცრუ.
და მერე აქვს bunch სხვა ამოწმებს,
ამოწმებს დაგავიწყდათ,
ამოწმებს, თუ პაროლები იგივეა,
ამოწმებს თუ ხელშეკრულება თოლიას მოწმდება თუ არა
და მე უბრალოდ დაწეროთ მომხმარებლის ასეთის არსებობის შემთხვევაში
იმ ტესტები რეალურად ვერ.
ასე რომ, აქ არის მაგალითი კი მიუხედავად იმისა, რომ ეს პატარა contrived
აქ ის ფაქტი, რომ მე გამოყენებით შეადგენს, ტოლობის, ტოლობის,
იმას ნიშნავს, რომ მომხმარებელს ვერ ცდილობენ Trick me
აკრეფით რა ღირებულება.
უფრო სწორად, მე ნამდვილად შემოწმების ყოფნა
ცარიელი სტრიქონი, შესახებ არ აკრეფილი არაფერი გაუკეთებია.
თუ მომხმარებლის აკრეფილი სიტყვასიტყვით ნულოვანი,
"ნულოვანი" პოტენციურად შეიძლება იყოს დაბნეული ცარიელი.
და მე ვიტყვი, ეს ერთგვარი უაზრო აქ
რადგან აშკარად კი ნულოვანი არ არის ელექტრონული ფოსტის მისამართი.
მაგრამ თუ ეს იყო უფრო generic ველი მოსწონს ველში
ან სახელი ან აღწერა ან რაღაც გსურთ მნიშვნელობა
და ეს არ არის აუცილებელი, syntactically აქვს
უნდა იყოს ელექტრონული ფოსტის მისამართი, მომხმარებელს შეიძლება აკრიფოთ რაღაც ნულოვანი
და ისევ კუთხეში შემთხვევაში, მაგრამ ეს ამიტომ, როგორც წესი, შემოწმების სახის არის
სასარგებლო რამ.
თქვენ ნამდვილად შემოწმება მომხმარებელს რომელმაც აკრეფილი არაფერი
თარგმნეს სფეროში.
ასე რომ, რა მოხდება, თუ არც იმ ტესტებს ვერ, ასევე,
დაბრუნების ჭეშმარიტი შიგნით ღონისძიება დამმუშავებლის
ისევე როგორც onsubmit მხოლოდ იმას ნიშნავს, let ორიგინალური ქცევა რეალურად
პროპაგანდაა და ამიტომ ფორმა მიიღებს წარმოდგენილი.
და ამიტომაც, როდესაც მე საბოლოოდ აირჩიეთ წარუდგინოს სანამ მე მივიღე
მეშვეობით register.html და თუ გავაკეთო, რომ ახლა, ცნობა,
მივიღებ დაიყვირა თუ არ უზრუნველყოს ელექტრონული ფოსტის მისამართი
და შემიძლია აკრიფოთ malan@harvard.edu,
crimson [ფონეტიკური] crimson, შემოწმების ყუთი,
და ახლა რეგისტრაცია და ის მეუბნება, კიდევ ერთხელ,
თქვენ რეგისტრირებული თუ არა ნამდვილად.
ყველა უფლება.
ასე რომ, მოდით გაწმენდა ამ up უბრალოდ ცოტა და შემდეგ გადასვლას
ახალი ახალი სერვერის მხარეს პერსონალი.
ასე რომ, თუ მე წასვლას ფორმა 2.html, შეამჩნია რამდენიმე რამ.
ასე რომ, ერთი, მე მოიტანა jQuery ისევ mix
ასე რომ იქ ერთხელ არის ამ დოლარის ნიშანი
და ახლა მე გამოყენებით ზოგიერთი jQuery მეთოდები.
ასე რომ, პირველი, რა არის ის შესახებ დოლარის ნიშანი, რომ
ასე აღთსანიშნავი აქ?
რა არის დოლარის ნიშანი laced მთელ საუკეთესო ნებისმიერი jQuery კოდი?
ჰო.
[Inaudible შენიშვნა]
OK. ასე რომ, დოლარის ნიშანი ფუნქცია გადის DOM ეძებს
რაღაც ამ კერძოდ CSS selector.
ასე რომ, მართალია, მაგრამ თითქმის ძალიან ზუსტი.
რომ არის, რა მოხდება მაშინ, როდესაც გაივლის სიმებიანი
როგორც ამ შემთხვევაში, მაგრამ თქვენ არ ყოველთვის უნდა გაიაროს სიმებიანი.
ფაქტობრივად, საქმე იმაშია, ძალიან პირველი ხაზი აქ არის, ეს არ არის
CSS selector, მე გავლით წელს Lambda ფუნქცია.
ასე რომ, უფრო ზოგადად - ასე, კარგი პასუხი, მაგრამ ძალიან ზუსტი.
უფრო ზოგადად, რა არის დოლარის ნიშანი წარმოადგენს?
>> Just jQuery.
>> Yeah. ასე რომ, მხოლოდ jQuery ან უბრალოდ ფუნქცია
რომ ზოგიერთი ბიჭი წლის წინ წერდა და სხვა ადამიანებს აქვთ
მას შემდეგ, რაც გაუმჯობესებულია, რომელიც სიტყვასიტყვით by default ეწოდება -
oops, ეწოდება jQuery.
უბრალოდ - აღმოჩნდება out განსხვავებით ბევრი
ენებზე დოლარის ნიშანი არის შესანიშნავად მოქმედებს სიმბოლო გამოყენება
ცვლადი სახელი, ხოლო
in PHP დოლარის ნიშანი აშკარად აქვს განსაკუთრებული მნიშვნელობა
მაგრამ JavaScript როგორც ზოგიერთი ენებზე, დოლარის ნიშანი
და ხაზს და სხვა მსგავსი სპეციალური სიმბოლოების მთლიანად legit
გამოიყენოს საკუთარი სიმბოლო სახელები ცვლადები.
ასე რომ, ვიღაცამ უბრალოდ გადაწყვიტა რომ, იცით, რა?
ეს იქნება საკმაოდ tedious
რათა მთელ მსოფლიოში ჩაწერეთ jQuery ყველა დროის,
ნება მომეცით სახის მცენარე აქციების ადგილზე და აცხადებენ,
"ეს ბიბლიოთეკა გამოყენება დოლარის ნიშანი. "
და, ფაქტობრივად, ამ არ დააყენებს რისკის
რომ ვინმე presumptuously აპირებს გამოიყენოს დოლარის ნიშანი
მისი ბიბლიოთეკა, მაგრამ არსებობს გზები, რათა სახის დააზღვევს
რომ როდესაც თქვენ გამოიყენოს დოლარი მოაწეროს რუკები jQuery
იმიტომ, რომ თქვენ შეგიძლიათ შეამოწმოთ თუ ის უკვე დაავალა
რაღაც არსებითად.
ყველა უფლება.
ასე რომ, ყველაფერი, რაც არის, არ არსებობს მაგია.
უბრალოდ sexy ეძებს ნაჭერი სინტაქსი რომ კარგია
და სწრაფი და მარტივი ტიპის.
ასე რომ, რა ხდება, როდესაც თქვენ ჩაწერეთ დოლარის ნიშანი ღია paren
და შემდეგ ანონიმური ფუნქცია.
ისე, გამოდის, რომ ეს არის რეალურად სტენოგრამის ნოტაცია
დოკუმენტის dot მზად ღია paren.
ასე რომ, როგორც Cynthia შენიშნა ადრე ჩვენ უკვე მოვნახეთ ერთი
კუთხეში შემთხვევაში.
თუ თქვენ უბრალოდ გაივლის ლამბდა ფუნქცია,
ეფექტი დოლარი ნიშანი არის პატარა სხვადასხვა.
ფაქტობრივად, რა ხდება რეალურად არის, რომ ეს ექვივალენტურია ამ,
გადადის მინიშნება გლობალური დოკუმენტის ობიექტი
რომ არის გლობალური, ისევე, ფანჯრის ობიექტი
რომ გაძლევთ ზოგიერთი სპეციალური ფუნქციონალური
რომელიც გავლენას ახდენს მთელ გვერდზე ან ბრაუზერის და აღმოჩნდება
აღნიშნავს, რომ დოკუმენტი, როდესაც თქვენ გადაიტანოთ იგი jQuery,
jQuery არსებითად აცნობიერებს, oh, ეს არის მინიშნება
რომ სპეციალური დოკუმენტი, ობიექტი,
ნება მიბოძეთ ახლა რეგისტრაცია ღონისძიება დამმუშავებლის მოუწოდა მზად
რომელიც არ არის შექმნილი JavaScript ან DOM დაკავშირებული.
მზად არის jQuery რამ, რომელიც ამბობს,
როდესაც გვერდზე უკვე ჩატვირთული ყველა HTML ელემენტები
მაგრამ არა აუცილებლად დატვირთული, ყველა CSS და სურათები
და JavaScript ფაილები და ფლეშ ფაილი და მოსწონს.
ასე რომ, ეს ნაბიჯი ადრე დატვირთვის მაშინ წავიდეთ წინ
და შეასრულოს შემდეგ.
და თავდაყირა გამოყენებით on მზად იმას ნიშნავს, რომ თქვენ შეგიძლიათ, თქვენ იცით,
რომ ყველა ელემენტები თქვენს DOM,
ყველა ცალსახად განსაზღვრული რამ, პირადობის, ისინი არსებობენ კი
თუ გვერდი, მისი შინაარსი კვლავ loading და loading
და თქვენ გაქვთ გარკვეული გატეხილი ხატები მომენტი
ან თეთრი გვერდი ფონზე.
ჰო.
>> რა მოხდება თუ [inaudible]?
>> Perfect მაგალითად, სრულყოფილი კითხვა.
ასე რომ, მოდით ვნახოთ, თუ შევძლებთ სიმულაცია ამ წუთას.
ასე რომ, ნება მომეცით წავიდეთ წინ და წაშლა ეს ორი ხაზი აქ და შემდეგ
გარეშე აწუხებდა დაფიქსირება წანაცვლება, ნება მომეცით წავიდეთ წინ
და წაშლა ქვემოთ აქ - oops, ეს ერთი ქვემოთ აქ.
და ახლა, ნება მომეცით წავიდეთ მეტი გვერდი, გადადით ფორმა 2.html და ტიპი
რეგისტრაცია, არაფერი, როგორც ჩანს, მოხდეს, ვთქვათ, რატომ იყო, რომ
მოდით წავიდეთ წინ და გახსნა up Chrome-ს ინსპექტორი,
გახსნას Console მხოლოდ ვხედავ თუ რამე ხდება აქ, ახლა,
რეგისტრაცია, კიდევ არაფერი.
ასე რომ, კოდი არის syntactically ჯარიმა
ამიტომ მე არ ხედავს რაიმე წითელი შეცდომის შეტყობინებები,
მაგრამ რა აშკარად არ ხდება?
არც ერთ ჩემს კოდი არის სწორი, ის არ მუშაობს ისე, არც
ჩემი კოდები ჩანს შესრულებაში, რატომ არის ეს?
ისე, JavaScript და ბრაუზერები უფრო ზოგადად შეასრულოს
შინაარსი ვებ გვერდზე, ზედა ქვედა, მარცხნიდან მარჯვნივ.
და პრობლემა არ არის იმის გამო, რომ ყველაზე
ამ გვერდზე მოთავსებული HTML მაშინ უხელმძღვანელებს მაშინ script შემდეგ კიდევ ერთი სცენარი,
ეს აპირებს მიიღოს შესრულებული ადრე რა არის კი მზად,
ან თუნდაც არსებობს ხე წარმომადგენლობის გვერდზე.
ფორმა თავისთავად, არც კი ორგანო არსებობს ამ ეტაპზე.
ასე რომ, jQuery არის ჭკვიანი საკმარისი ეს შეცდომა შემოწმება
იმ შემთხვევაში, თუ არ არსებობს ელემენტს უნიკალური ID რეგისტრაციის
ის არ აპირებს გირაოს გარეთ თქვენ
და მხოლოდ გამოიწვიოს ზოგიერთი console შეცდომა და შესვენება მთელ გვერდზე,
ის აპირებს დუმილით იგნორირება თქვენ, მაგრამ იმ მიზეზით, რომ არცერთი
ამ კოდექსის ოდესმე ახორციელებს არის
რადგან, როდესაც თქვენ გაქვთ რეგისტრირებული ამ წარუდგინოს კურატორმა,
არ არსებობს ელემენტს დაურთოს.
ასე რომ, ეს სახის არ op არსებობს.
ასე რომ, სასურველი ნაცვლად, დაველოდოთ ასაკის დატვირთული
თუ გავაკეთეთ window.onload რაც არის ერთგვარი
ძველი სკოლის გზას აკეთებს ის ან sexier jQuery გზა
ასე, ჩვენ შეგვიძლია გითხრათ, რომ დაველოდოთ ყველა
იმ HTML tags აქვს უკვე გაანალიზება ისე, რომ თუნდაც
თუ გამოსახულება არ დატვირთული, ერთი მინიმუმ რომ კვანძის არის ხე,
მაშინ JQuery შეიძლება უზრუნველყოს რომ ყველაფერი არსებობს.
ჰო.
[Inaudible შენიშვნა]
დიახ, კარგი, დიახ, აბსოლუტურად.
ასე რომ, სხვა გამოსავალი , თუ თქვენ არ გამოიყენოთ ეს
ან არ მახსოვს რომ ეს არსებობდა,
თქვენ შეიძლება სრულიად გადავა ყველა ამ ბოლოში
ვებ გვერდზე, შიგნით სხეულის კვლავ მაგრამ ქვემოთ ფორმით
და რომ ასევე ამ პრობლემის მოგვარებას.
უბრალოდ, როგორც წესი, ითვლება, ცუდი პრაქტიკა.
ეს პატარა ბინძურ და დაუდევარი სპეციალურად
თუ თქვენ გაქვთ jamming ყველაფერი ბოლოში გვერდზე,
განსაკუთრებით მაშინ, როდესაც მე შენახვა რამ მარტივი გამოსული ყველა
ჩემი კოდი შიგნით საქართველოს HTML გვერდი
როდესაც რა თქმა უნდა თქვენ შეგიძლიათ რა თქმა უნდა შეღწევას ჩვევა
ფაქტორინგი ის ცალკე ფაილი
სადაც წერტილი უბრალოდ ლამაზი
to ცენტრალიზებული ფაილი ხელმძღვანელი.
გარდა არის ფასი იხდით
გამოსული JavaScript სხვა აქტივები, როგორიცაა CSS ფაილი
სათაო გვერდზე, რა არის რისკი, რომ თქვენ აწარმოებს?
>> ნელა გვერდი loading.
>> ნელა გვერდი loading, რატომ?
>> იმის გამო, რომ ჩვენ ვცდილობთ ჩატვირთვა ყველა ბიბლიოთეკები
ადრე [inaudible].
>> სწორედ ბრაუზერები წაკითხვის კოდი ყველაზე ქვედა,
მარცხნიდან მარჯვნივ თუ Google ანალიტიკა ნელი
ან jQuery CDN ნელი ან Facebook API არის ნელი
და რომ ფაილი უბრალოდ კიდია პოტენციურად დამოკიდებულია
თუ როგორ დატვირთული, რომ ფაილი, მთელი გვერდი შეიძლება აღმოჩნდეს გათიშეთ.
და თუ ხედავთ ამ ბევრი გულწრფელად
საიტებზე მათ ბევრი უხარისხო რეკლამები
მათ, ჩვენ მხოლოდ ერთი ნელი ან ჩამოგდებული ნახვა შეიძლება გათიშეთ გვერდი
ზოგიერთი გაურკვეველი ნომერი წამში
სანამ საბოლოოდ ბრაუზერის იმედია ჯერ გარეთ რომ
და მაშინ გიჩვენებთ დანარჩენ გვერდზე.
ასე რომ, თუ თქვენ ოდესმე გამოყენებული, როგორიცაა Facebook, like button,
თქვენს ვებ გვერდზე, ნება მომეცით ვნახოთ, თუ ვიპოვი ამ
გარეშე შედით აქ.
ასე რომ, თუ მიდიხარ Facebook-ის like button
და დააჭირეთ მიიღოს კოდი, Damn it,
მოდით ვნახოთ, თუ შევძლებთ მოძებნეთ მაგალითად,
აუცილებლად ვინმე იყო, რომელიც ამ.
[პაუზა]
მე მივცემ up რამდენიმე წამში, თუ ჩვენ ვერ ვხედავთ ამას.
Facebook asynch - OK.
ასე რომ, ეს არის კოდი და თუ ისინი შეიცვალა მას ახლახანს
რომ Facebook ფაქტიურად რეკომენდაციას, რომ გამოიყენოთ
ჩატვირთვა მათი ბიბლიოთეკაში და რეალურად ვთავაზობთ
რომ თქვენ დააყენა ამ სხეულის თქვენი გვერდი.
ასე რომ, Facebook ურჩევს თქვენ შექმნა ერთგვარი სულელური DIV
რომ მხოლოდ აქვს უნიკალური ID მოსწონს , მაშინ აქვს სკრიპტი tag
და ყველა ეს სირთულე არსებითად აკეთებს შემდეგ
და ისინი არ გამოიყენოს ნებისმიერი JQuery იმის გამო, რომ მათ არ სურთ
უნდა ვივარაუდოთ, ნებისმიერ სხვა დამოკიდებულებები,
ნება მომეცით გადავიდეს ამ მეტი უბრალოდ ცოტა.
ასე რომ, შეამჩნევთ მათ აქვთ ანონიმური ფუნქცია აქ,
უფრო, რომ რაღაც მომენტში,
ისინი შემდეგ გამოიყენოთ document.createElement,
ისინი ქმნის DOM ელემენტს, ეს მოსწონს malloc ასე ვთქვათ
სადაც ტეგი ტიპის სცენარი, ის მაშინ სასურველი
რომ async ატრიბუტი რომ tag აპირებს
უნდა იყოს ჭეშმარიტი მაშინ წავიდეთ წინ და გაერკვნენ, თუ რა URL
Facebook-ის სკრიპტი უნდა იყოს
და ეს მხოლოდ ლამაზი გზა
შემოწმების უნდა ეს იქნება HGP ან HDPS.
და ბოლოს, თქვენ შეამჩნია რა Facebook აკეთებს,
ისინი DOM კვანძში, რომ აქვს პირადობის Facebook root
რაც მითხრეს თქვენ ამოქმედებული გვერდი
და მერე დამატება ბავშვის ასე ეფექტი ყველა ეს
სახის დინამიურად მიეცეს ახალი სცენარი tag თქვენი გვერდი
როგორც ბავშვი DIV, რომ თქვენ ჩასმული ასე რომ დანარჩენი
გვერდის იტვირთება სიხარულით
და შემდეგ ეს კოდი რეალურად იღებს დატვირთული asynchronously.
ასე რომ, არსებითად შემდეგ ფაქტობრივად მე და გადავადებული ნახსენები
ანონიმი ფუნქცია,
რა არის ეს ხმაურიანი სინტაქსი გულისხმობდა აქ
როდესაც მე მაქვს არა მხოლოდ ფუნქცია გახსნა paren ახლოს paren
და შემდეგ curly აფრთხილებს, რატომ ღია paren აქ
და შემდეგ ღია მჭიდრო, ახლო Paren არსებობს, რა არის, რომ აკეთებს?
>> [INAUDIBLE] განსაზღვრის და შემდეგ შესრულებაში?
>> სწორედ ის განსაზღვრავს ფუნქცია, რომელიც ანონიმურია
მაგრამ მხოლოდ განმსაზღვრელი ფუნქცია,
რა თქმა უნდა არ შეასრულოს ფუნქცია სანამ თქვენ ეძახით
სახელით, მაგრამ რა თქმა უნდა ეს არის ანონიმური ფუნქცია
ასე რომ თქვენ ვერ ვუწოდებ სახელის მიხედვით მაგრამ შეგიძლიათ
in JavaScript შეასრულოს ანონიმური ფუნქცია მხოლოდ
by encapsulating მთელი რამ ფრჩხილებში, როგორც ჩვენ გავაკეთეთ
ამ paren და ამ Paren აქ და შემდეგ აფიქსირებს
ბოლომდე ფუნქცია ღია paren ახლოს paren,
თუ თქვენ არ გსურთ გაიაროს ეს რაიმე არგუმენტები.
მაგრამ ეს, როგორც ჩანს, ასეთი სულელური,
მოსწონს თუ რატომ ეს დამატებითი სინტაქსური სირთულის
რომ ადამიანების უმრავლესობას არ ჩანს აღიარებს, რა არის ღირებულება
შესაფუთი იმ სამი ხაზი კოდი
in ანონიმური ფუნქცია ამ გზით.
ჰო.
>> თავიდან აცილების მიზნით, overwriting ფასეული [inaudible].
>> ზუსტად, რათა თავიდან ავიცილოთ overwriting ცვლადი
არსებული გვერდი, არა?
Facebook გარკვეულწილად presumptuously გადაწყვიტა,
ისინი აპირებს გამოიყენოს ცვლადი E, ეს საკმაოდ სავარაუდოა
რომ თქვენ ან ვინმე გამოყენებით Facebook like button
ან რასაც სხვა სოციალური დანამატი
in აქვს ცვლადი სადღაც მოუწოდა E. ასე რომ,
by encapsulating ყველა მათი კოდი შიგნით
ამ ანონიმური ფუნქცია, მათ არსებითად აქვს საკუთარი არეალი
რომ არ გარისკოს clobbering ნებისმიერი არსებული ცვლადები.
ასე რომ, ეს ძალიან ფაქტიურად ძალიან საერთო პარადიგმა,
განსაკუთრებით მაშინ, როდესაც წერა ბიბლიოთეკის კოდი
ან როდესაც თქვენ საკუთარ თავს არ მინდა clutter თქვენი სახელი სივრცე
სხვა ცვლადები თქვენ მინდა ღირებულება ცხოვრება
და სიკვდილს ერთხელ გამოხვიდეთ რომ ბლოკი კოდი
ეს არის ლამაზი ტექნიკა JavaScript.
ყველა უფლება.
ასე რომ, შემდეგ უკან, ამ მაგალითს აქ, ყველა ჩვენ გავაკეთეთ ბოლოს
ეს მაგალითი არის უბრალოდ დაასუფთავეს კოდი.
ასე რომ, ის მაინც მთელი bunch of კონცენტრატორები, მთელი bunch
პირობები აქ, მაგრამ შეამჩნია ცოტა სინტაქსი,
ეს იღებს DOM კვანძში ერთად უნიკალური ID რეგისტრაციის,
ფართი საშუალებით გამოიყურება ახლა შთამომავალი რომ კვანძის,
პოულობთ მას თუ ის ტიპის შემავალი და შემდეგ კი
თუ თქვენ არ მინახავს ეს ადრე, მოგეხსენებათ,
რომ ეს მხოლოდ იმას ნიშნავს, იპოვოს იგი შეყვანის tag,
შეყვანის ელემენტები, რომელიც აქვს ატრიბუტი სახელის მნიშვნელობა
ელ, და მაშინ me ტალღის ჩემი მხრივ გარკვეული
დანარჩენი არ არის ყველა რომ მასტიმულირებელი
მაგრამ რეალურად მხოლოდ jQuery სინტაქსის იმავე ოპერაციებში.
ყველა უფლება.
მაგრამ რა ასე არ არის მნიშვნელოვანი აქ არის ბრაუზერი მხარეს პერსონალი
არამედ ის, რომ ჩვენ ჰქონდა სუფთა და სუფთა გზები
რეალურად მიღების რომ კოდი მუშაობა.
ყველა უფლება.
რაიმე შეკითხვა?
[Inaudible შენიშვნა]
OK. ახლა fun ნაწილი.
ასე რომ, Node.js რატომ?
ვინ ზრუნავს?
რა იცით, რომ ეს დღეს?
Node.js, რატომ?
Henry [აიღო მართლწერა].
[Inaudible შენიშვნა]
ბატარეის გადატვირთვა?
რა - ეს არის სრულყოფილი cliff hanger
უკანასკნელი ნახევარი დღეს.
რატომ არ ვართ წავიდეთ და მიიღოს 5 წუთიანი შესვენება აქ,
იქ ნახევარი candy მანქანა არსებობს თუ
ისევე როგორც ზოგიერთი candy გარეშე აყენებს კვარტალში შემოსული