JavaScript პროგრამირების სწავლება. JavaScript for დამწყებთათვის - მარტივი მაგალითები

მრავალრიცხოვანი მოთხოვნები აწარმოებს სერიას javaScript გაკვეთილები. თუ თქვენ ხართ მკაცრად კონფიგურირებული, სამაგისტრო JS, ეს იმას ნიშნავს, რომ თქვენ უნდა ჰქონდეთ ძირითადი ცოდნა HTML და CSS, რადგან ეს არის საფუძველი, რომლის გარეშეც ძნელია იმის გაგება, თუ რას ვსაუბრობთ.

ჩვენი მხრიდან, მე შევეცდები გავიგოთ გასაგები ენაზე, აჩვენე ნამდვილი მაგალითები სიცოცხლისგან, რადგან ყველაფერი შედარებით მოდის.

რა არის JavaScript, ან როგორ უნდა გვესმოდეს, რა მიზნით საჭიროა ვებ-გვერდის განვითარების დროს!

ჩვენ ვცხოვრობთ მსოფლიოში, სადაც ყველას ხელსაყრელია, ჩვენ ვასრულებთ იმ იდეებს, რომლებიც ჩვენს თავზე მოდიან. ჩვენ ვაშენებთ სახლებს, მანქანებს, სხვადასხვა ტექნიკასთან ერთად მოძრავი. ეს არის ის, რაც ჩვენ შეგვიძლია გავაკეთოთ რეალურ სამყაროში შეიძლება წარმოდგენილი იყოს HTML- თან შედარებით, სადაც ის სამშენებლო მასალას, ფონდს, რომელზეც ყველაფერი ინარჩუნებს და როდის cSS დახმარება ჩვენ გავაკეთებთ ამ სამყაროს, ჩვენ ეს ფერადი, რადგან მათ სურდათ, რომ მას თავად.

ალბათ თქვენ საინტერესოა, თუ HTML და CSS არის ის, რაც გარს შემოგთავაზებთ, რა არის JavaScript? სადაც ის ჩვენს სამყაროში გამოავლინა.

უბრალოდ, მე ვფიქრობ, რომ ავუხსნათ მაგალითად ფილმის Gary ლოტი, მე ვფიქრობ, რომ ბევრი თქვენ ჩანდა და გვესმის, რას ვსაუბრობთ. ფილმის სცენარის მიხედვით, ჩვენ ვიცით, რომ გარი გააჩნიათ შესაძლებლობები, ის იყო ოსტატი, და ჯადოსნური ჯოხი დაეხმარა ამ. ეს იყო ჯადოსნური ჯოხი, რომელმაც მისცა შესაძლებლობა შექმნას ჯადოსნური, ასეთი დონე, როგორც მას ჰქონდა ცოდნა, რათა ის უნიკალურია.

JavaScript არის ჯადოსნური ჯოხიმას აქვს ყველა ვებ დეველოპერი, მაგრამ რა ჯადოსნური შეგიძლიათ შექმნათ, დამოკიდებულია მხოლოდ ცოდნის დეველოპერი, რომელთანაც მას ფლობს. ვინც აითვისა ეს ენაარის ოსტატები და curly სასწაულები.


JavaScript ენა არ არის სრული კომპონენტების გარეშე HTML და CSS. ბევრი პროგრამისტები აღნიშნავდნენ ვებ-გვერდს "ფენებს": HTML, CSS და JavaScript.

HTML. ჰიპერტექსტის მარკირების პირველი ენა - უზრუნველყოფს სტრუქტურულ ფენებს, ექსპრესულად ორგანიზებას უწევს გვერდის შინაარსს, როგორიცაა ტექსტი, სხვა ელემენტები.

მეორე, CSS. (კასკადური სტილის ფურცლები) ფორმა ლამაზი გაფორმება, HTML- ის შინაარსის გამოჩენა.

და მესამე JavaScript. - დაამატეთ ქცევითი ფენების, აღორძინების ვებ გვერდზე, რაც მას ინტერაქტიული, ანუ, ქმნის ელემენტების ურთიერთქმედება სტუმრებთან.


შედეგად, JavaScript ენის შესაქმნელად, თქვენ უნდა ჰქონდეთ კარგი იდეა ორივე HTML და CSS.

პროგრამირების შეიძლება ჩანს წარმოუდგენელი ჯადოსნური, მიუწვდომელი მარტივი მოკვდავი. თუმცა, მისი კონცეფციების უმრავლესობა არ არის გასაგები. Javascript საკმაოდ მეგობრულია novice programmers, მაგრამ, მიუხედავად ამისა, ეს უფრო რთულია, ვიდრე HTML ან CSS, ასე რომ ფარგლებში ფარგლებში გაკვეთილები ჩვენ დაეუფლონ ფუნდამენტურ კონცეფციებს პროგრამირების, და შეგიძლიათ გამოიყენოთ მათ, როდესაც წერილობით სკრიპტები შესახებ JavaScript.

თქვენ გაეცნობიან ახალ სიმბოლოებს (), , (),!, ისწავლეთ ახალი სიტყვების აღნიშვნა (VAR, NULL, ELSE IF), ჩვენ გავაანალიზებთ პუნქტუაციის წესებს და ენების სინტაქსს, და ეს ყველაფერი მათი ჯადოსნური შესაქმნელად.

მასალა მომზადებული Denis დაწვეს, დაწერეთ თქვენი კომენტარი და დარწმუნდით, რომ ეს მასალა თქვენს მეგობრებთან ერთად.

  • Გადაცემა

მასალა, რომლის თარგმნაც ჩვენ დღეს გამოაქვეყნებს, არის JavaScript- ის საფუძვლებისთვის და განკუთვნილია დამწყები პროგრამისტებისთვის. ეს შეიძლება ჩაითვალოს როგორც მცირე საცნობარო წიგნი ძირითადი JS დიზაინით. აქ ჩვენ, კერძოდ, მოდით ვისაუბროთ მონაცემთა ტიპის სისტემაზე, ცვლადების, მასივების, თვისებების შესახებ, ობიექტების პროტოტიპების შესახებ და ენის ზოგიერთი სხვა თვისებები.

პრიმიტიული მონაცემთა ტიპები

JavaScript- ს აქვს შემდეგი პრიმიტიული მონაცემების ტიპი: ნომერი, ლოგიკური, სიმებიანი, განუსაზღვრელი, null. დაუყოვნებლივ უნდა აღინიშნოს, რომ, მაგალითად, პრიმიტიული მონაცემების ტიპებთან მუშაობისას, მაგალითად, სიმებიანი ლიტერატურით, ჩვენ არ ვატარებთ აშკარა კონვერტაციას, ჩვენ შეგვიძლია შედიხართ მათი მეთოდები და თვისებები. ფაქტია, რომ როდესაც ასეთ ოპერაციებს შეასრულებს, ლიტერატურული ავტომატურად აღჭურვილია შესაბამისი ობიექტის შეფუთვით.

▍ ფურცელი

JavaScript- ს აქვს მხოლოდ ერთი ტიპის რიცხვი - ეს არის ორმაგი სიზუსტის ნომრები მცურავი წერტილებით. ეს იწვევს იმ ფაქტს, რომ ზოგიერთი გამონათქვამების გაანგარიშების შედეგები არითმეტიკულად არასწორია. თქვენ უკვე იცით, რომ JS- ში გამოხატვის ღირებულება 0.1 + 0.2 არ არის 0.3. ამავდროულად, რიცხვებით მუშაობისას ასეთი პრობლემები არ არის დაცული, ეს არის 1 + 2 \u003d\u003d\u003d 3.

JavaScript- ს აქვს ნომერი ობიექტი, რომელიც არის რიცხვითი ღირებულებების ობიექტი. ნომრის ობიექტები შეიძლება შეიქმნას VAR A \u003d NUMBER- ის (10) ტიპის ბრძანების გამოყენებით, ან შეგიძლიათ დაეყრდნოთ ზემოთ აღწერილი სისტემის ავტომატური ქცევა. ეს, კერძოდ, საშუალებას გაძლევთ დარეკოთ NUMBER- ში შენახული მეთოდები. Prototype გამოიყენება რიცხვითი ლიტერატურული:

(123) .tostring (); // "123" (1.23) .Tofixed (1); //"1.2 "
არსებობს გლობალური ფუნქციები, რომლებიც განკუთვნილია რიცხვითი ტიპის სხვა ტიპის ღირებულებების გარდაქმნას. ეს არის parseint (), parsefloat () და ნომერი () დიზაინი, რომელიც ამ შემთხვევაში მოქმედებს როგორც ჩვეულებრივი ფუნქცია, რომელიც ასრულებს ტიპების კონვერსიას:

Parseint ("1") // 1 parseint ("ტექსტი") // nan parsefloat ("1.234") //1.234 ნომერი ("1") // 1 ნომერი ("1.234") //1.234
იმ შემთხვევაში, თუ ოპერაციის დროს რიცხვებით აღმოჩნდება, რაც არ არის რიცხვი (ზოგიერთი გათვლებით, ან როდესაც ცდილობს შეცვალოს ნომერი), JavaScript არ მისცემს შეცდომას, მაგრამ წარუდგენს მსგავსი ოპერაციის შედეგს, როგორც NAN- ს ( არა-ნომერი, არა რიცხვი). იმისათვის, რომ შეამოწმოთ თუ არა NAN მნიშვნელობა, შეგიძლიათ გამოიყენოთ Isnan () ფუნქცია.

არითმეტიკული ოპერაციები JS კარგად მუშაობს, მაგრამ აუცილებელია ყურადღება მიაქციოს იმ ფაქტს, რომ + ოპერატორს შეუძლია განახორციელოს ნომრების დამატება და სიმებიც.

1 + 1 //2 "1" + "1" //"11" 1 + "1" //"11"

▍ ინსულტი

რიგები JavaScript არის Unicode პერსონაჟების sequences. სიმებიანი ლიტერატურა შექმნა, შესვლის ტექსტი მათში, ორმაგი (") ან ერთი (" ") შეთავაზებები. როგორც უკვე აღინიშნა, სიმებიანი ლიტერატურული მუშაობისას, ჩვენ შეგვიძლია დავიცვათ შესაბამისი ობიექტის შეფუთვა, რომლის პროტოტიპიც არსებობს, მათ შორის ბევრი სასარგებლო მეთოდი, მათ შორის - სუბსტრირება (), ინდექსი (), Concat ().

"ტექსტი" .შემდეგ (1,3) // ყოფილი "ტექსტი" .indexof ("X") // 2 "ტექსტი" .კონკატი ("დასასრული") // ტექსტის დასასრული
რიგები, ისევე როგორც სხვა პრიმიტიული ღირებულებები, Immutabelins. მაგალითად, Concat () მეთოდი არ შეცვლის არსებულ სიმრავლეებს და ქმნის ახალს.

▍logical ღირებულებები

ლოგიკური მონაცემების ტიპი JS წარმოდგენილია ორი ღირებულებით - ჭეშმარიტი და ცრუ. ენაზე ავტომატურად შეუძლია შეცვალოს სხვადასხვა ფასეულობები ლოგიკური მონაცემების ტიპისთვის. ასე რომ, ყალბი, ცრუ ლოგიკური ღირებულების გარდა, არის , undefined, "" (ცარიელი სიმებიანი), 0 და NAN. ყველაფერი, მათ შორის ნებისმიერი ობიექტი, არის ნამდვილი ღირებულებები. Პროგრესირებს ლოგიკური ოპერაციები ყველაფერი, რაც ჭეშმარიტად განიხილება, ჭეშმარიტად გარდაიქმნება და ყველაფერი, რაც ყალბი ითვლება, ყალბი ხდება. შეხედეთ შემდეგ მაგალითს. ზემოაღნიშნული პრინციპების შესაბამისად, ცარიელი სტრიქონი გადაიქცევა ცრუზე და ამ კოდექსის აღსრულების შედეგად კონსოლში, ხაზის ხაზი ყალბი იქნება კონსოლში.

ტექსტი \u003d ""; თუ (ტექსტი) (console.log ("ეს მართალია");) სხვა (console.log ("ეს არის FALSE");)

ობიექტები

ობიექტები დინამიური სტრუქტურებია, რომლებიც შედგება წყვილი ძირითადი ღირებულებით. ფასეულობებს შეიძლება ჰქონდეთ პრიმიტიული მონაცემთა ტიპები, შეიძლება ობიექტები ან ფუნქციები.

ობიექტები მარტივია შექმნას ობიექტის ლიტერატურული სინტაქსის გამოყენებით:

ნება Obj \u003d (შეტყობინება: "შეტყობინება", Dosomething: ფუნქცია ())
ობიექტის თვისებები შეიძლება იყოს ნებისმიერ დროს, წაკითხული, დამატება, რედაქტირება და წაშლა. ეს არის ის, თუ როგორ კეთდება:

  • კითხვის თვისებები: Object.Name, ობიექტი.
  • ქონების მონაცემების ჩანაწერი (თუ საკუთრება არ არსებობს, არ არსებობს, ახალი ქონება მითითებული გასაღებით არის): Object.name \u003d ღირებულება, ობიექტი \u003d ღირებულება.
  • წაშლა თვისებები: ობიექტის წაშლა, ობიექტის წაშლა.
Აი ზოგიერთი მაგალითი:

მოდით obj \u003d (); / / ცარიელი ობიექტის შექმნა obj.message \u003d "გაგზავნა"; / / დასამატებელი ახალი ქონება obj.Message \u003d "ახალი შეტყობინება"; // რედაქტირება ობიექტის წაშლა MESSAGE თვისებები; / / ქონების წაშლა
ობიექტების ენა ხორციელდება hash ცხრილების სახით. თქვენ შეგიძლიათ შექმნათ მარტივი hash მაგიდის გამოყენებით Object.create ბრძანება (null):

მოდით ფრანგული \u003d object.create (null); ფრანგული ["დიახ"] \u003d "oui"; ფრანგული ["არა"] \u003d "არა"; ფრანგული ["დიახ"]; // "oui"
თუ ობიექტი უნდა გაკეთდეს უცვლელი, შეგიძლიათ გამოიყენოთ Object.Freeze () ბრძანება.

ობიექტის ყველა თვისების გასახსნელად შეგიძლიათ გამოიყენოთ Object.Keys () ბრძანება:

ფუნქცია Logproperty (სახელი) (Console.log (სახელი); // ქონების სახელი Console.log (OBJ); // ქონების ღირებულება) Object.keys (OBJ).

პრიმიტიული ტიპებისა და ობიექტების ღირებულებები

-თვის პრაქტიკული სამუშაო პრიმიტიული ღირებულებით, უკვე თქვა, რომ მათ ობიექტებსა და მეთოდებს ჰქონდეთ ობიექტები, თუმცა ისინი არ არიან ობიექტები. პრიმიტიული ღირებულებები უცვლელი, ობიექტების შიდა სტრუქტურა შეიძლება განსხვავდებოდეს.

ცვლადები

JavaScript- ში, ცვლადები შეიძლება გამოცხადდეს VAR- ის გამოყენებით, მოდით და კონსერვაციის საკვანძო სიტყვებით.

VAR სიტყვის გამოყენებისას შეგიძლიათ გამოაცხადოთ ცვლადი და, საჭიროების შემთხვევაში, გარკვეული ღირებულების დაწყების მიზნით. თუ ცვლადი არ არის ინიციალიზებული, მისი ღირებულება განუსაზღვრელია. Var Keyword- ის გამოყენებით გამოცხადებული ცვლადები ფუნქციონალური ფარგლებს.

ნება სიტყვა არის ძალიან მსგავსი var, განსხვავება ის არის, რომ ცვლადები გამოცხადებული საკვანძო სიტყვა მოდით ბლოკ ფარგლებს.

ხილვადობის ბლოკის ფარგლებს ასევე აქვთ ცვლადები, რომლებიც განაცხადეს კონსტიტუციის საკვანძო სიტყვის გამოყენებით, რომელთა გათვალისწინებით, ასეთი ცვლადების ღირებულებები არ შეიძლება შეიცვალოს, სწორად მოვუწოდებთ "მუდმივებს". კონსტიტუციის საკვანძო სიტყვა, რომელიც "გაყინავს" მისი გამოყენების ცვლადი ღირებულებას შეიძლება შედარებით ობიექტიერთან () მეთოდი, "გაყინვა" ობიექტები.

თუ ცვლადი გამოცხადდება ნებისმიერი ფუნქციის გარეთ, მისი ფარგლები გლობალურია.

წყლი

JavaScript მასივები ხორციელდება ობიექტების გამოყენებით. შედეგად, საუბარი მასივები, ჩვენ რეალურად განვიხილავთ ობიექტების მსგავსი მასივები. თქვენ შეგიძლიათ იმუშაოთ მასივის ელემენტებთან მათი ინდექსების გამოყენებით. რიცხვითი ინდექსები კონვერტირებულია სტრიქონებში და გამოიყენება როგორც მასალის ღირებულებების წვდომის სახით. მაგალითად, ARR ტიპის დიზაინი მსგავსია ARR ["1"], ხოლო მეორე მისცემს იმავე ღირებულებას: arr \u003d\u003d\u003d arr ["1"]. ზემოაღნიშნულიდან გამომდინარე, უბრალო მასივი გამოაცხადა მოდით ARR \u003d ["A" ბრძანება, B "," C "], როგორც ჩანს:

("0": "ა", "1": "ბ", "2": "C")
წაშლა მასივის ელემენტების მოხსნა წაშლა ბრძანების გამოყენებით "ხვრელები". ამ პრობლემის თავიდან ასაცილებლად შეგიძლიათ გამოიყენოთ splice () ბრძანება, მაგრამ ის ნელ-ნელა მუშაობს, მას შემდეგ, რაც ნივთის მოხსნის შემდეგ ის მასივის დარჩენილ ელემენტებს მოძრაობს, ფაქტობრივად, მასივის დასაწყისში, მარცხნივ .

მოდით arr \u003d ["A", "B", "C"]; წაშლა arr; Console.log (arr); / / ["A", ცარიელი, "C"] console.log (arr.Length); // 3.
მასტების მეთოდები ადვილად ასრულებს ასეთ მონაცემთა სტრუქტურებს, როგორც stacks და რიგები:

/ / დასტის მოდით დასტის \u003d; stack.push (1); / / stack.push (2); / / Last \u003d Stack.pop (); // console.log (ბოლო); // 2 // Queue მოდით Queue \u003d; Queue.PUSH (1); // Queue.push (2); / / მოდით პირველი \u003d Queue.shift (); / console.log (პირველი); // ერთი

ფუნქციები

ფუნქციები JavaScript ობიექტებია. ფუნქციები შეიძლება დაინიშნოს ობიექტებზე, რომლებიც ინახება ობიექტებში ან მასალებში, სხვა ფუნქციებს არგუმენტების სახით და სხვა ფუნქციებისგან დაბრუნებისას.

ფუნქციების გამოცხადების სამი გზა არსებობს:

  • ფუნქციის დეკლარაცია ან ფუნქცია).
  • ფუნქციური გამონათქვამების გამოყენება (ფუნქციის გამოხატვა), რომლებიც ასევე ფუნქციონირებს ლიტერატურულ (ფუნქციის ლიტერატურული).
  • სროლის ფუნქციების სინტაქსის გამოყენება (arrow ფუნქცია).

▍classical AD ფუნქცია

ამ მიდგომით ფუნქციების დეკლარაციით, შემდეგი წესები ვრცელდება:
  • პირველი სიტყვით დეკლარაციის რიგის ფუნქცია ფუნქციაა.
  • ფუნქციები უნდა დანიშნოს სახელი.
  • ფუნქცია შეიძლება გამოყენებულ იქნას კოდში, რომელიც, სანამ იგი მზადდება ფუნქციის დეკლარაციის მოხსნის მექანიზმით, რომელშიც ის გამოცხადებულია.
აქ არის ის, რაც კლასიკური რეკლამის ფუნქციის სია ჰგავს:

ფუნქცია Dosomething () ()

▍ ფუნქციური გამონათქვამები

ფუნქციური გამონათქვამების გამოყენებისას, თქვენ უნდა განიხილონ შემდეგი:
  • ფუნქციის საკვანძო სიტყვა აღარ არის პირველი სიტყვა მხატვრული რიგის ფუნქციაში.
  • ფუნქციის სახელით არის სურვილისამებრ. შესაძლებელია გამოიყენოთ ორივე ანონიმური და დასახელებული ფუნქციური გამონათქვამები.
  • ზარის ბრძანებები ასეთი ფუნქციები უნდა დაიცვას ბრძანებები მათი განცხადებები.
  • ეს ფუნქცია შეიძლება დაუყოვნებლივ დაიწყოს განცხადების შემდეგ, Iife Syntax- ის გამოყენებით (დაუყოვნებლივ გამოწვეული ფუნქციის გამოხატვა - დაუყოვნებლივ მოუწოდა ფუნქციონალური გამოხატვა).
ფუნქციური გამოხატვა ასე გამოიყურება:

მოდით dosomething \u003d ფუნქცია () ()

▍ გაჭიმვა ფუნქციები

Arrow ფუნქციები, ფაქტობრივად, შეიძლება ჩაითვალოს "სინტაქსის შაქარი", რათა შეიქმნას ანონიმური ფუნქციური გამონათქვამები. უნდა აღინიშნოს, რომ ასეთი ფუნქციები არ გააჩნია ამ და არგუმენტების საკუთარი პირები. Arrow ფუნქციის გამოცხადება ასე გამოიყურება:

მოდით dosomething \u003d () \u003d\u003e ();

აქციები მოვუწოდებთ ფუნქციებს

ფუნქციები შეიძლება ეწოდოს სხვადასხვა გზით.

ჩვეულებრივი ფუნქციის ზარი

Dosomething (არგუმენტები)

ზარის ფუნქცია ობიექტის მეთოდად

Theobject.dosomething (არგუმენტები) TheObject ["Dosomething"] (არგუმენტები)

ზარის ფუნქცია დიზაინერის სახით

ახალი Dosomething (არგუმენტები)

გამოაქვეყნებს ფუნქციას ვრცელდება () მეთოდი

Dosomething.apply (theobject,) dosomething.call (theobject, არგუმენტები)

მოუწოდებს ფუნქციას გამოყენებით Bind () მეთოდი

მოდით dosomethingwithobject \u003d dosomething.bind (theobject); dosomethingwithobject ();
ფუნქციები შეიძლება ეწოდოს დიდი ან მცირე რაოდენობის არგუმენტებს, ვიდრე მათთვის მითითებული პარამეტრების რაოდენობა. "ჭარბი" ფუნქციის ფუნქციის დროს, არგუმენტები უბრალოდ იგნორირებულია (თუმცა ფუნქცია მათთვის ხელმისაწვდომი), დაკარგული პარამეტრების მიღება გაურკვეველია.

ფუნქციებს აქვს ორი ფსევდო-პარამეტრი: ეს და არგუმენტები.

▍ ქორწილი სიტყვა ეს

საკვანძო სიტყვა არის ფუნქციის კონტექსტი. ღირებულება, რომელიც მას მიუთითებს, დამოკიდებულია იმაზე, თუ როგორ მოხდა ფუნქცია. ეს არის ის, რაც ფასეულობებს იღებენ ამ სიტყვის მიხედვით, რაც დამოკიდებულია ფუნქციის დარეკვის მეთოდის მიხედვით (ისინი, კოდექსის მაგალითებით, რომელთა დიზაინებს იყენებენ ზემოთ აღწერილი):
  • ნორმალური ფუნქციის ზარი - ფანჯარა / განუსაზღვრელი.
  • ზარის ფუნქცია ობიექტის მეთოდად - TheObject.
  • დარეკვის ფუნქცია დიზაინერის სახით - ახალი ობიექტი.
  • მოუწოდებს ფუნქციას ვრცელდება () მეთოდი - TheObject.
  • Calling ფუნქცია გამოყენებით სავალდებულო () მეთოდი - theobject.

▍ საქორწინო სიტყვა არგუმენტები

არგუმენტების საკვანძო სიტყვა არის ფსევდოპარამეტრის, რომელიც უზრუნველყოფს ყველა არგუმენტს, რომელიც გამოიყენება ფუნქციის დარეკვისას. როგორც ჩანს, მასივი, მაგრამ არ არის მასივი. კერძოდ, მას არ აქვს მასივი მეთოდები.

ფუნქცია REDUCETOSUM (სულ, ღირებულების) ფუნქციის თანხა () (არ args \u003d array.prototype.slice.call (არგუმენტები); დაბრუნება args.reduce (reducetosum, 0);) თანხა (1,2, 3);
არგუმენტების სიტყვის ალტერნატივა არის დანარჩენი პარამეტრების ახალი სინტაქსი. მომდევნო მაგალითში args არის მასივი, რომელიც შეიცავს ყველაფერს, რაც გადაცემულია.

ფუნქციის თანხა (... args) (დაბრუნება args.reduce (Reducetosum, 0);)

▍ ოპერატორის დაბრუნება.

ფუნქცია, რომელშიც დაბრუნების გამოხატულება არ არის დაკარგული, დაუპირისპირდება. დაბრუნების საკვანძო სიტყვის გამოყენება, ყურადღება მიაქციეთ, თუ როგორ მუშაობს ავტომატური ჩასმის მექანიზმი. მაგალითად, შემდეგი ფუნქცია არ დაუბრუნდება ცარიელი ობიექტი, მაგრამ განუსაზღვრელი:

ფუნქცია GetObject () (დაბრუნება ()) GetObject ()
ასეთი პრობლემის თავიდან ასაცილებლად, გახსნის ფრჩხილი უნდა განთავსდეს იმავე ხაზზე, რომელზეც დაბრუნების განცხადება მდებარეობს:

ფუნქცია GetObject () (დაბრუნება ())

დინამიური აკრეფა

JavaScript არის ენა დინამიური აკრეფით. ეს იმას ნიშნავს, რომ კონკრეტული ღირებულებები აქვს ტიპებს, და ცვლადები არ არის. პროგრამის განხორციელებისას იმავე ცვლადში შეგიძლიათ მიიღოთ ღირებულებები Განსხვავებული ტიპები. აქ არის მაგალითი ფუნქცია, რომელიც მუშაობს სხვადასხვა ტიპის:

ფუნქციის ჟურნალი (ღირებულება) (console.log (ღირებულება);) შესვლა (1); შესვლა ("ტექსტი"); შესვლა ((შეტყობინება: "ტექსტი"));
ცვლადში შენახული მონაცემების გასარკვევად შეგიძლიათ გამოიყენოთ Typeof () ოპერატორი:

ნება n \u003d 1; ტიპიფი (ნ); / / ნომერზე S \u003d "ტექსტი"; ტიპიფი (ებ) ი; / / სიმებიანი ნება fn \u003d ფუნქცია () (); ტიპიფი (fn); // ფუნქცია.

აღსრულების ერთჯერადი ნაკადი მოდელი

JavaScript- ის შესრულების გარემო ერთჯერადი ხრახნიანია. ეს, კერძოდ, გამოხატულია ერთდროულად ორი ფუნქციის შესრულების შეუძლებლობით (თუ არ გაითვალისწინოს კოდექსის ასინქრონული შესრულების შესაძლებლობები, რომ ჩვენ არ ვგულისხმობთ აქ). აღსრულების გარემოში არის ე.წ. ღონისძიების რიგი (თარიღის რიგი), რომელიც ინახავს ამოცანების ჩამონათვალს. შედეგად, ორმხრივი რესურსების დაბლოკვის პრობლემების პრობლემა უჩვეულოა JS- ის აღსრულების ერთი აყვავებული სქემისთვის, ამიტომ არ არსებობს ბლოკირების მექანიზმი. თუმცა, კოდექსი, რომელიც მოვლენების რიგში მოდის, სწრაფად უნდა შესრულდეს. თუ თქვენ გადატვირთეთ მძიმე სამუშაოს, ბრაუზერის აპლიკაციაში, ძირითადი ნაკადი, განაცხადის გვერდი არ პასუხობს მომხმარებლის ექსპოზიციას და ბრაუზერს შესთავაზებს ამ გვერდის დახურვას.

გამონაკლისი გატარება

JavaScript- ს აქვს გამონაკლისი მექანიზმი. იგი მუშაობს საკმაოდ ჩვეულებრივი ასეთი მექანიზმებისათვის პრინციპი: კოდი, რომელიც შეიძლება გამოიწვიოს შეცდომა, გამოიყენება ლელოების გამოყენებით. კოდექსი თავისთავად არის მცდელობა, შეცდომები დამუშავებულია ბლოკში.

საინტერესოა აღინიშნოს, რომ ზოგჯერ JavaScript, თუ თქვენ გაქვთ თავისუფალი სიტუაციები, არ გასცემს შეცდომის შეტყობინებებს. ეს არის იმის გამო, რომ JS არ ჩააგდებს შეცდომებს Ecmascript 3 სტანდარტის მიღებამდე.

მაგალითად, კოდექსის მომდევნო ფრაგმენტში, "გაყინული" ობიექტის შეცვლის მცდელობა ვერ მოხერხდება, მაგრამ გამონაკლისი არ გაიცემა.

ნება Obj \u003d Object.Freeze (()); Obj.message \u003d "ტექსტი";
ზოგიერთი "მდუმარე" JS შეცდომები მკაცრ რეჟიმში გამოიხატება, შეგიძლიათ "გამოყენების მკაცრი" დიზაინის გამოყენება; .

პროტოტიპის სისტემა

ასეთი JS მექანიზმების საფუძველი, როგორც ფუნქცია-დიზაინერები, Object.Create ბრძანება (), კლასი გასაღები სიტყვა არის პროტოტიპების სისტემა.
განვიხილოთ შემდეგი მაგალითი:

მოდით მომსახურება \u003d (Dosomething: ფუნქცია ()) მოდით სპეციალობითსერვისი \u003d Object.Create (სერვისი); Console.log (სპეციალობითსერვისი .__ Proto__ \u003d\u003d\u003d სერვისი); // სიმართლე.
აქ, რათა შეიქმნას სპეციალობითსერვისი ობიექტი, რომელიც აუცილებელი იყო ობიექტის ობიექტის შესაქმნელად. შედეგად, აღმოჩნდება, რომ Dosomething () მეთოდი შეიძლება მოუწოდა დაუკავშირდა სპეციალობითსერვისის ობიექტი. გარდა ამისა, ეს იმას ნიშნავს, რომ __Proto__ სპეციალიზირებული ობიექტის ქონება მიუთითებს მომსახურების ობიექტზე.

შექმენით ახლა მსგავსი ობიექტი კლასი საკვანძო სიტყვების გამოყენებით:

კლასი სერვისი (Dosomething ()) Class SpecializeService ვრცელდება Service () SPECIECTIONSERSERSERVICE \u003d ახალი სპეციალობითსერვისი (); Console.log (სპეციალობითსერვისი .__ Proto__ \u003d\u003d\u003d სპეციალიზირებული სერტოტიპი);
მომსახურების კლასში გამოცხადებული მეთოდები დაემატება სერვისს. სერვისის კლასის შემთხვევები ექნება იგივე პროტოტიპი (Service.Prototype). ყველა ინსტანცია დელეგირებას მოუწოდებს მომსახურებისკენ. Prototype ობიექტი. შედეგად, აღმოჩნდება, რომ მეთოდები მხოლოდ ერთხელ გამოცხადდა სამსახურში. პროტოტიპი, რის შემდეგაც ისინი "მემკვიდრეობით" არიან კლასების ყველა ინსტანციით.

▍ceclosure პროტოტიპები

ობიექტები შეიძლება სხვა ობიექტების "მემკვიდრეები". თითოეულ ობიექტს აქვს პროტოტიპი, რომლის მეთოდებიც ხელმისაწვდომია. თუ თქვენ ცდილობენ გამოიყენოთ ქონება, რომელიც არ არის ობიექტში, JavaScript დაიწყებს პროტოტიპის ჯაჭვის ძიებას. ეს პროცესი გაგრძელდება, სანამ ქონება არ არის ნაპოვნი, ან სანამ ძებნა ჯაჭვის ბოლოს აღწევს.

JavaScript- ში ფუნქციონალური პროგრამირების შესახებ

-ში JavaScript ფუნქციები პირველი კლასის ობიექტებია, ენა მხარს უჭერს დახურვის მექანიზმს. ეს იხსნება JS- ში ფუნქციური პროგრამირების მეთოდების განხორციელების გზაზე. კერძოდ, ჩვენ ვსაუბრობთ უმაღლესი წესრიგის ფუნქციების გამოყენების შესაძლებლობაზე.

დახურვა არის შიდა ფუნქცია, რომელსაც აქვს მშობლის ფუნქციის ფარგლებში გამოცხადებული ცვლადების ხელმისაწვდომობა, მაშინაც კი, მას შემდეგ, რაც მშობელთა ფუნქცია შესრულდება.

უმაღლესი შეკვეთის ფუნქცია ფუნქციაა, რომელსაც შეუძლია სხვა ფუნქციების აღება, როგორც არგუმენტები, დაბრუნების ფუნქციები, ან ორივე.

ფუნქციური პროგრამირება JS- ში ხაზს უსვამს სხვადასხვა პუბლიკაციებში. თუ ეს თქვენთვის საინტერესოა - აქ არის რამოდენიმე მასალა ამ თემაზე

JavaScript სინტაქსის Tutorial

სანამ დაიწყებთ კითხვას javaScript Tutorialთქვენ უნდა ჰქონდეთ პროგრამული უზრუნველყოფის ცოდნა.

ეს იქნება დიდი პლუს JavaScript სინტაქსის სწავლისას, თუ თქვენ უკვე იცნობთ ნებისმიერ პროგრამულ ენას, როგორიცაა PHP, C ან PASCAL, და ასევე ესმის, თუ რა ცვლადი, მონაცემთა ტიპი, ფუნქცია, ან მასივი.

თუმცა, თუ თქვენ არ იცნობთ პროგრამულ ენებს, არ ღირს შემაშფოთებელი, მოცემული javaScript სახელმძღვანელოს უბრალოდ და განკუთვნილია მათთვის, ვინც პირველად გააგრძელებს პროგრამირების შესწავლას.

JavaScript (JavaScript) - ეს არის კლიენტის პროგრამირების ენა, რომელიც შეიძლება კონტროლირებად HTML- ის გვერდი ელემენტები (HTML Tags) და ვებ ბრაუზერი, აიძულებს მათ გადაადგილება, რეაგირება სხვადასხვა ღონისძიებები (მაუსის დაწკაპუნებით, კლავიატურის დაჭერით), შექმენით ბევრი საინტერესო პროგრამები ( სკრიპტები): ტესტები, ანიმაცია, შეხვედრები (მაგალითად, Vkontakte), თამაშები და სხვა.

როგორ არის JavaScript- ის შესწავლა

Სწავლა javaScript ენაჩვეულებრივ, ოთხ ეტაპად იყოფა:
1. Javascript სინტაქსი (ეს სამეურვეო),
2. სასწავლო დომენი და ბომ.,
3. DOM და BOM კონტროლის გამოყენებით JavaScript,
4. სხვადასხვა JavaScript ბიბლიოთეკების შესწავლა. jQuery. - ყველაზე პოპულარული ამ მომენტში ბიბლიოთეკა (JQuery სახელმძღვანელოს უნდა გამოჩნდეს ამ საიტზე 2015 წლის ბოლოს).

DOM არის დოკუმენტის ობიექტი მოდელი. წყალობით Dom ტექნოლოგია, HTML გვერდები tags დაიწყება წარმოადგენს ობიექტების ობიექტების ობიექტების და თითოეული ობიექტი ამ ხე, არსებობს უნიკალური მისამართი. JavaScript ენა გულისხმობდა ამ მისამართზე, შეუძლია წვდომა კონკრეტული HTML ტეგი და მართვა (შეცვლა ფერი, ზომა, პოზიცია და mn. დოქტორი).

BOM არის ბრაუზერის დოკუმენტის მოდელი. სტრუქტურა იგივეა, რაც DOM, მხოლოდ HTML- გვერდის ობიექტების ნაცვლად, ბრაუზერის ფანჯარა, ბრაუზერის ფანჯარა, ბრაუზერის ეკრანის ზომები, ისტორიის, სტატუსის სიმებიანი და ა.შ.

DOM და BOM- ის შესწავლის შემდეგ, ისინი იწყებენ უფრო მეტ ან ნაკლებად კომპლექსურ სკრიპტს JavaScript- ზე გვერდით და ბრაუზერით.

მაშინ, რომელმაც მცირე, შესწავლა რამდენიმე JavaScript ბიბლიოთეკა, როგორიცაა jQuery, მადლობა მას თქვენ შეგიძლიათ შექმნათ იგივე პროგრამები, როგორც JavaScript, მხოლოდ უფრო სწრაფად და ეფექტური.

ზოგიერთი ვებმასტერები დაუყოვნებლივ დაიწყებენ შესასწავლად jQuery, skipping წინა სამი ეტაპი, მაგრამ მე არ გირჩევთ ეს, რადგან ნებისმიერ შემთხვევაში თქვენ უნდა გაიგოთ JavaScript სინტაქსი და ვიცი DOM / BOM ობიექტების მათი თვისებები, მეთოდები და მიმართულებები.

რა პროგრამები შეიძლება დაიწეროს JavaScript- ის გამოყენებით

თქვენ შეგიძლიათ შექმნათ ბევრი საინტერესო პროგრამა (სკრიპტები):
- თქვენ შეგიძლიათ შექმნათ სკრიპტები, რომლებიც შეიცვლება საიტის გვერდის ელემენტებს ან მათი ადგილმდებარეობის ელემენტებს, ერთი ან სხვა ღილაკით დაჭერით,
- თქვენ შეგიძლიათ შექმნათ ანიმაცია,
- მანიპულირება ფორმები, როგორიცაა მომხმარებლის მიერ შეტანილი მონაცემების შემოწმება,
- შექმნა სხვადასხვა ტესტები, როგორიცაა ტიპის Ege (სკოლის გამოცდები) და დაუყოვნებლივ მიიღოს შედეგი,
- მადლობა BOM- ს, თქვენ შეგიძლიათ იპოვოთ ბრაუზერის მახასიათებლები და კომპიუტერული კომპიუტერი თქვენს საიტზე მოინახულეთ, რაც საშუალებას გაძლევთ შექმნათ სხვადასხვა ვიზიტის მრიცხველები,
- JavaScript- ით, თქვენ შეგიძლიათ შექმნათ თამაშები, მულტფილმები და მრავალი სხვა საინტერესო და სასარგებლო პროგრამები.

რა არის ამ ტერმინების მიზანი JavaScript- ზე?

ამის მიზანი javascript წიგნები არის გასწავლა javaScript სინტაქსის საფუძვლებიპროგრამირების და ცნებები, როგორიცაა ცვლადები, მონაცემთა ტიპები, ოპერაციები, ფილიალი ოპერატორები, ფუნქციები, ციკლები, მასივები, ობიექტები და ა.შ. ეს ყველაფერი სხვა პროგრამირებად ენებზეა ნაპოვნი, ასე რომ, JavaScript- ის საშუალებით, ბევრად უფრო ადვილი იქნება სხვა ენების შესწავლა, როგორიცაა PHP, C ++ ან Python.

JavaScript სახელმძღვანელოს სტრუქტურა

-ში სახელმძღვანელოს JavaScript- ზე.განხილული იქნება შემდეგი თემები და გაკვეთილები.

JavaScript - შედის თამაშის როდესაც ჩვენ გვჭირდება გარკვეული ნაბიჯები კლიენტის მხარეს, რომელიც მიმართა ჩვენს ვებ გვერდზე.

JavaScript- ს შეუძლია შეცვალოს ვებ-გვერდი სერვერზე წვდომის გარეშე, შეამოწმეთ მონაცემების მომხმარებლის ღირებულებები და სხვა ოპერაციების განხორციელება.

ეს სტატია შეიცავს ძირითად ინფორმაციას, რომელიც საშუალებას მოგცემთ დაიწყოთ JavaScript- ის გამოყენებით.

სკრიპტის ჩასმა გვერდზე პირდაპირ გვერდზე კოდი

თქვენ შეგიძლიათ ჩაწეროთ JS კოდი პირდაპირ გვერდზე.

კოდექსის მოცილება ცალკე ფაილში

შეიძლება წარმოდგენილი იყოს Javascript კოდი გარე ფაილზე და გამოიყენოთ ბმული გვერდზე გვერდზე

ამ შემთხვევაში დახურვის ნიშანი აუცილებელია.

საუკეთესო ჩასმა სკრიპტები დახურვის ტეგით

ცვლადები

ცვლადების სახელები

ცვლადი სახელები შეიძლება დაიწყოს დიდი ან პატარა წერილით, ხაზგასმა ან $ ნიშანი.

სახელი შეიძლება იყოს ნომრები, მაგრამ შეუძლებელია ციფრის ცვლადის სახელი დაიწყოს.

JavaScript მგრძნობიარეა რეესტრისთვის: MyText და MyText ორი სხვადასხვა ცვლადია.

უმჯობესია გამოიყენოთ Camelcase Naming, დაწყებული ყველა სიტყვა სახელით ცვლადი ერთად კაპიტალის წერილი.

გამოცხადება

დეკლარაციის ცვლადებისათვის JavaScript გამოიყენება var..

Var mytext; // undefined mytext \u003d "hi!"; Alert (mytext);

ცვლადის გამოცხადების შემდეგ დაუყოვნებლივ, მისი ღირებულება განუსაზღვრელია.

თქვენ შეგიძლიათ თქვათ ღირებულების ცვლადი, როდესაც გამოცხადდა:

Var mytext \u003d "hi!";

თქვენ ასევე შეგიძლიათ გამოაცხადოთ რამდენიმე ცვლადები ერთფერში:

Var sum \u003d 4 + 5, mytext \u003d "hi!";

Var Value- ის მინიჭებისას შეგიძლიათ გამოტოვოთ, მაგრამ უმჯობესია არ გააკეთოთ.

ტიპების ცვლადები

JavaScript- ში, შეგიძლიათ გამოიყენოთ ხაზები:

Var mytext \u003d "გამარჯობა!";

მთელი რიცხვები:

Var mynumber \u003d 10;

ფრაქციული ნომრები:

var pi \u003d 3.14;

ლოგიკური ღირებულებები:

Var isboolean \u003d ცრუ;

JavaScript სინტაქსის დეტალები

კომენტარები

კომენტარები ერთი ხაზის გამოყოფილია "//". ყველაფერი, რაც ამ სიმბოლოების შემდეგ მოდის.

კომენტარის გაკეთება რამდენიმე ხაზით, თქვენ უნდა გამოვიყენოთ "/ *" კომენტარის დასაწყისში, და "* /" დანიშნოს კომენტარის დასასრულს

/ * აქ არის კომენტარი კოდი და IT "ასევე კომენტარი * /

ოპერატორების დაშლა

ოპერატორების გამოყოფისთვის, თქვენ უნდა გამოვიყენოთ ";"

სასურველია, მაგრამ არა აუცილებლად, გამოიყენოთ ხარვეზები ტექსტის წაკითხვის გასაუმჯობესებლად.

მუშაობა სიმები

var str \u003d 4 + 5 + "7"

მისცემს სიმებიანი ღირებულებას " 97 »ქ.

Var str2 \u003d "7" + 4 + 5

მისცემს სიმებიანი ღირებულებას " 745 "Str 2.

ფაქტია, რომ ღირებულება, როდესაც დასძინა, გამოითვლება თანმიმდევრულად - მარცხნიდან მარჯვნივ. როდესაც არსებობს 2 ნომერი - შედეგი ხდება ნომერი. როდესაც სიმებიანი და რიცხვი, რიცხვი, რიცხვი აღიქმება, როგორც სიმებიანი და ორი ხაზის კომბინაცია.

Row თარგმანი

გადარიცხოს სიმებიანი რიცხვი parseint () და parsefloat ()

ეს ფუნქციები ორ არგუმენტს იღებს. პირველი არის სიმებიანი, რომელიც ითარგმნება ნომერზე და მეორე - ნომრის სისტემის ბაზაზე, რომელიც გამოყენებული იქნება თარგმნაზე. შეუშალოს ხაზი ათობითი რიცხვი, თქვენ უნდა გამოიყენოთ 10 როგორც მეორე არგუმენტი

Var mynumber \u003d parseint ("345", 10);

JavaScript ფუნქციები

JavaScript- ში ფუნქციები გამოცხადებულია შემდეგნაირად:

ფუნქცია MyFunction () (ზოგიერთი JS კოდი)

დაბრუნების ღირებულება თქვენ უნდა გამოვიყენოთ Დაბრუნების.:

ფუნქცია MyMultiplation (Paramone, Paramone * Paramtwo)

თქვენ შეგიძლიათ გამოაცხადოთ "ანონიმური" ფუნქცია ფუნქციის სახელით სახელით.

ფუნქცია შეიძლება გადაეცეს, როგორც პარამეტრი სხვა ფუნქციას, მისი სახელის მითითებით.

ობიექტები

ყველა JavaScript არის ობიექტის მემკვიდრე.

ახალი დაწესებულების შექმნა

Var person \u003d ახალი ობიექტი (); / / ობიექტის პიროვნების შექმნა. Firstname \u003d "ენდრიუ"; // დაამატეთ პირველი ატრიბუტი Person.LastName \u003d "Peterson"; // მეორე ატრიბუტის პიროვნების დამატება. სრულიადახლადი \u003d ფუნქცია () (// დაამატე დაბრუნება ამ.ფოსტახამი + მეთოდი + "" + ეს.

მეორე, მოკლე ვარიანტი ობიექტის შესაქმნელად

Var person \u003d (// ობიექტის შექმნის ობიექტის სახელი: "ენდრიუ", გვარი: "პეტერსონი", GetFullName: ფუნქცია () (დაბრუნება this.firstname + "" + this.lastname;))

სამუშაო ობიექტის თვისებები

var me \u003d ახალი ობიექტი ();

მე ["სახელი"] \u003d "SERG";
me.age \u003d 33;

მასივები JavaScript- ში

შექმნა მასივი

Var arr \u003d ახალი მასივი (11, "გამარჯობა!", ჭეშმარიტი); // შექმნა მასივი

ჩაწერის ახალი გზა

Var arr \u003d; // შექმნა მასივი

JavaScript- ში მუშაობა

ელემენტების რაოდენობა მასივში

Var სიგრძე \u003d arr.length; // 3.

დამატება ელემენტები მასივი - დააყენებს

arr.push ("ახალი ღირებულება");

მასივის ბოლო ელემენტის მოპოვება - პოპ

var lastvalue \u003d arr.pop ();

იარაღის შერწყმა

var arr2 \u003d; var longarray \u003d arr.concat (arr2); // აერთიანებს ორი არეულობა arr2 ერთ longarray

გაწევრიანდით - შერწყმა ყველა ელემენტის მასივი

var longstring \u003d arr.join (") /" 11: გამარჯობა!

შედარება და ლოგიკური ფუნქციები JavaScript- ში

Მეტი ნაკლები

var istrue \u003d 6\u003e \u003d 5; // მეტი ან თანაბარი

Თანასწორობა

var isfalse \u003d 1 \u003d\u003d 2; / / თანაბარი ISTRUE \u003d 1! \u003d 2; / / Nonavo var Alsotrue \u003d "6" \u003d\u003d 6;

იდენტურობა

Var Notelentical \u003d "3" \u003d\u003d\u003d 3 / FALSE, რადგან მონაცემთა ტიპები არ ემთხვევა Notientical \u003d "3"! \u003d\u003d 3 // True, რადგან მონაცემთა ტიპები არ ემთხვევა

თუ ოპერატორი

თუ (5.< 6) { alert("true!"); } else { alert("false!") }

შეცვლა ოპერატორი

Var lunch \u003d prompt ("რა გინდა ლანჩზე?", "ჩაწერეთ თქვენი სადილის არჩევანი აქ"); შეცვლა (სადილი) (Case "Sandwich": Console.log ("დარწმუნებული რამ! ერთი სენდვიჩი, ახლოვდება"), საქმე "წვნიანი": Console.log ("მივიღე ეს! ; შესვენება; საქმე "სალათი": Console.log ("კარგია, როგორ შესახებ კეისარ სალათი?"); დაარღვიე; საქმე "Pie": Console.log ("Pie" არ არის კვება! ") : console.log ("Huh! მე არ ვარ დარწმუნებული, რა" + სადილი + "არის. როგორ სენდვიჩს ხმის?");

ლოგიკური და &&

თუ (1 \u003d\u003d 1 && 2 \u003d\u003d 2) (გაფრთხილება ("ჭეშმარიტი!");

ლოგიკური ან - ||

თუ (1 \u003d\u003d 1 || 2 \u003d\u003d 3) (გაფრთხილება ("ჭეშმარიტი!");

ლოგიკური არ არის -!

თუ (! (1 \u003d\u003d 1)) (გაფრთხილება ("ცრუ!");)

ციკლები

-თვის

for (var i \u003d 0; მე< 10; i = i + 1) { alert(i); } var names = [ "Sergey", "Andrey", "Petr" ]; for (var i = 0, len = names.length; i < len; i = i + 1) { alert(names[i]); }

პერიოდი

მიუხედავად იმისა, რომ (ჭეშმარიტი) (// infinite alert ციკლი ("ეს არასდროს შეჩერდება!");) Var სახელები \u003d ["სერგეი", "ანდრეი", "პეტრე"]; მიუხედავად იმისა, რომ (names.length\u003e 0) (alert (სახელები [I]);)

ხოლო

Do (Alert ("ეს არასდროს შეჩერდება!");) ხოლო (ჭეშმარიტი) (/ უსასრულო ციკლი

სიმჩრები

ტექსტი \u003d "Blah blah blah blah blah blah eric \\ blah blah blah ერიკ ბლას ერიკ ბლეჰ ბლაჰ ბლაჰ ბლაჰ ბლაჰ ბლაჰ ბლაჰ ბლაჰ ბლაჰ ერიკ ერიკ ბლაჰ

სუბსტრინები.

ზოგჯერ არ გსურთ აჩვენოთ მთელი. სიმებიანი, მხოლოდ ნაწილი. მაგალითად, თქვენს Gmail Inbox- ში, შეგიძლიათ დააყენოთ ეს პირველი 50 ან იმდენად სიმბოლოების ჩვენება, ასე რომ თქვენ შეგიძლიათ გადახედოთ მათ. ეს გადახედვა არის შემოტანა ორიგინალური სიმებიანი (მთელი შეტყობინება).

"ზოგიერთი სიტყვა" .სუბუქრა (x, y) სადაც X არის, სადაც თქვენ დაიწყებთ chopping და y არის, სადაც თქვენ დასრულდება chopping ორიგინალური სიმებიანი.

ნომრის ნაწილი ცოტა უცნაურია. აირჩიოთ "ის" "გამარჯობა", დაწერე ეს: "გამარჯობა". substring (0, 2);

იფიქრეთ თითოეული პერსონაჟის მარცხნივ, ასე რომ: 0-H-1-E-2-L-3-L-4-O-5.

თუ თქვენ დაჭრილი 0 და ისევ 2 თქვენ დარჩა მხოლოდ ის.

სხვა მაგალითები.:

1. "Batman" პირველი 3 ასო
"Batman" .Substring (0.3)

2. "ლეპტოპის" მე -4 მე -6-მდე წერილიდან
"ლეპტოპი" .Substring (3.6)

  • როგორ ჩაწერეთ სკრიპტი HTML დოკუმენტში (ზოგადი ინფორმაცია);
  • კომენტარს აკეთებს JavaScript;
  • როგორ გამოაცხადოთ ცვლადები და მისცეს მათ უფლება სახელები;
  • მეთოდების სცენარისა და სინტაქსის ანალიზი;
  • alert () მეთოდი;
  • სასარგებლო წვრილმანი: "დანამატი" დროებით არ მუშაობს ბმულით

ავტორიდან

ვებ გვერდების შესაქმნელად ბევრი სხვადასხვა subtleties არსებობს. მაგრამ არსებობს სამი ვეშაპი. ეს არის HTML, CSS და JavaScript.

მე ვურჩევ თვითმმართველობის განათლების ორგანიზებას შემდეგნაირად: როგორც კი HTML Syntax და ისწავლეთ პრიმიტიული გვერდები ტექსტის, სურათებისა და ცხრილებით, უბრალოდ დაკავშირება CSS- ის შესასწავლად. როგორც კი გესმით, როგორ უნდა მუშაობდნენ CSS- სთან, დაიწყონ სამაგისტრო JavaScript, პარალელურად "ლექსიკა" სამივე ენაზე. მე ვფიქრობ, რომ ნახევარ წელს თქვენ შეგიძლიათ აშენება ძალიან ლამაზი და ფუნქციური საიტი.

მე არ ვიცი, როგორ მივუდგე JavaScript- ს. იყო სახელმძღვანელოები ან ძალიან აბსტრაქტული - თეორია, თეორია, და არ არის ნათელი, თუ როგორ უნდა დაურთოს მას პრაქტიკაში, ან, პირიქით, ძალიან კონკრეტული: აქ არის კომპლექტი მზა რეცეპტები, მიიღოს და გამოიყენოთ, და როგორ ეს ყველაფერი გამოდის - არა თქვენი კვდება.

მე მივიღე რატომღაც სახელმძღვანელოს ვადიმ დუნაევი. ბევრი, მე ვიცი, გაბრაზება ამ tutorial. გარდა ამისა, მე გადმოვწერე Frozo Scanned PDF, სადაც ნაცვლად "()" შეიძლება იყოს, მაგალითად, "Q" და ლათინური ასოები კოდები შეიცვალა (ადგილები!) მსგავსი რუსები, რის გამოც ეს კოდები არ მუშაობს. ზოგადად, მე უნდა დაიჭირეს. და, პატიოსნად, თუ JavaScript- ის შესახებ არაფერი არ ვკითხულობდი, მე არ მესმის ეს შეცდომები და შეუერთდა კურსების რაოდენობას. მაგრამ შემდეგ მე ვიყავი მუშაობის გარეშე, დროა შეაღწიოს, და მე მომეწონა სახელმძღვანელო. მაგრამ ეს ძალიან დეტალურად და განკუთვნილია იმ ადამიანებისთვის, რომლებიც უკვე კონტაქტში არიან პროგრამით.

შენიშვნა 2012.

ახლა, რამდენიმე წლის შემდეგ, და მე მკურნალობა ამ სახელმძღვანელოს ძველი აღფრთოვანებული გარეშე. ის არის მოძველებული, "sharpened" ქვეშ IE საკმაოდ ზედაპირულია; არსებობს რეალური შეცდომები და დაუდევრობის კოდი, და ზოგიერთი სასარგებლო რამ არ არის ნაპოვნი. მაგრამ შედარებით "CrayFrame ლიდერები", რომელიც სიმრავლის გაცემული საძიებო სისტემებში, ეს იყო რაღაც.

ასე რომ, მინდა შევეცადე მოკვლა ორი კურდღელი. დაწერეთ რაიმე ნათელი ნებისმიერი kettle და ამავე დროს კონსტრუქციული შემეცნებითი. ასე რომ, ეს kettle საფუძველზე ჩემი რჩევები შეიძლება დაწეროს მარტივი, მაგრამ სრულყოფილი ორიგინალური სცენარი.

HTML დოკუმენტის ჩასმა

თქვენ ალბათ დაინახეთ ასეთი tags html კოდები:

ეს abrakadabra შორის tags და არსებობს სცენარი.

თავად tag

ეს ატრიბუტი არის სურვილისამებრ. ღირს ენის შესწავლა (Javascript1.1, Javascript1.2 და ა.შ.), ან სხვა ენაზე იყენებთ (მაგალითად,

ტიპის ატრიბუტი, რომელიც მიუთითებს ტექსტის ტიპის: ტექსტი / JavaScript.. იგი გამოჩნდა HTML 4.0 ვერსიაში. ვურჩევ მას გამოიყენოს იგი.

ატრიბუტის გადაადგილების წინ src, გაირკვეს, თუ რომელი დანაყოფების HTML კოდი შეგიძლიათ ჩადეთ სკრიპტები.

ნებისმიერ შემთხვევაში. მაგრამ გონება.

ხშირად სკრიპტი მიუთითებს კონკრეტული ტექსტის გაყვანის შესახებ, რომელსაც აქ მოუწოდა. ეს სკრიპტი ჩასმული პირდაპირ , "სცენაში."

არსებობს სკრიპტები ცვლადები რეკლამები, რომლებიც შეიძლება გამოყენებულ იქნას სხვა სკრიპტებში გვერდზე, ფუნქციები, რომელიც შეიძლება მოუწოდა ნებისმიერი საიტი HTML კოდი. ასეთი სკრიპტები ყველაზე გონივრულია ტეგებს შორის და .

მაგრამ თქვენ შეგიძლიათ ამის გაკეთება, რათა გამოიყენოთ სკრიპტი დაუყოვნებლივ მრავალჯერადი ვებ გვერდებზე. ამისათვის მისი კოდი უნდა ჩაიწეროს ცალკეულ ფაილში გაფართოებით . (მაგალითად, myscript_1.js.). განცხადებები აღარ არის საჭირო მასში.

და შემდეგ, მოვუწოდებთ სკრიპტს ვებ გვერდზე, ჩვენ გვჭირდება ატრიბუტი src. იგი მუშაობს ისევე როგორც მსგავსი tag ატრიბუტი :

ასე რომ, ეს არის სხვადასხვა გვერდებზე, სკრიპტის ფაილში ჩაწერილი იგივე ქუდი ან მენიუ. განსაკუთრებით ის ეხმარება იმ მასპინძლობას, სადაც SSI არ გაივლის.

თქვენ ასევე შეგიძლიათ ჩაწეროთ მცირე სკრიპტები HTML ტეგების ზოგიერთ ატრიბუტში, მაგრამ ცოტა მოგვიანებით.

ზოგჯერ სკრიპტი უნდა განთავსდეს ბოლომდე. სხეული. ან თუნდაც დახურვის შემდეგ მაგალითად, თუ ჩვენ გვჭირდება სკრიპტის შესრულებამდე, ის იკვლევს ყველა ბმულს ან ყველა სურათს დოკუმენტში. მაგრამ ამის შესახებ - ძალიან, მოგვიანებით, როდესაც ჩვენ ვნახავთ JavaScript მექანიზმებს. შეგიძლიათ კანი.

კომენტარები

ისინი ამბობენ, ჯერ კიდევ არსებობს ისეთი ბრაუზერები, რომლებსაც არ ესმით სკრიპტები. Meyaki მომხმარებლებს, რომლებიც იმდენად მიდრეკილნი არიან უსაფრთხოდ გამორთოთ სკრიპტები. ამ სიტუაციაში, სკრიპტი არ შესრულდება, მაგრამ მისი კოდი, იგივე "Abrakadabra", უბრალოდ მოდის ეკრანზე.

ასე რომ, ისე, რომ არ დაეცემა, ჩვენ დავასკვნათ, რომ HTML კომენტარები.

MMM ... და რა არის ეს ორი slash სანამ დახურვის კომენტარი?

დახურვის კომენტარი უკვე სცენარის "სხეულშია". და JavaScript არ ესმის ამ cranial htmls "Sky ფრჩხილების, მისთვის ეს არის უცხოური ორგანო, რომელიც გამოიმუშავებს შეცდომას. ასე რომ თქვენ უნდა დაიმალოთ ეს დახურვის tag სკრიპტიდან, განთავსება, როგორც JavaScript კომენტარი. JavaScript გამოიყურება გარკვეულწილად მოხდენილი: //. მას შემდეგ, რაც Sign Script- ს მას შემდეგ, რაც ვერ ხედავს HTML დახურვის ფრჩხილებს და HTML უსაფრთხოდ მალავს სკრიპტის ტექსტს და ეკრანზე არ არის "მარცხენა" ჩანაწერები.

მას შემდეგ, რაც ჩვენ შევიკრიბეთ კომენტარები, მე უნდა ვთქვა, რომ JavaScript- ში, მათ აქვთ ორი ფორმა - იგივე როგორც C და C ++ (და ასევე CSS- ში).

// ეს კომენტარი ფორმა // მართავს მხოლოდ ერთ ხაზს, / / \u200b\u200bრომ არის, ყოველ ახალ ხაზზე // თქვენ უნდა მითითებული კომენტარი ნიშანი. და ეს არის სკრიპტის კოდი ... / * და ეს კომენტარი ფორმაა, როგორც ბევრი რიგები, რადგან იგი არ ტუმბოს დახურვის ხატი, სარკის ასახავს საწყის. * / / და ახლა კვლავ სკრიპტის კოდექსი ...

არ გაურკვეველი HTML კომენტარები და JavaScript კომენტარები! ეს არის სხვადასხვა ენები, თუმცა ისინი თანაარსებობენ "ერთ ბოთლში". ან, კერძოდ, ერთ ბანკში. როგორიცაა ობობები ...

დავუბრუნდეთ დანგრეული ბრაუზერების პრობლემას. დავუშვათ, ერთად JavaScript, თქვენ გააკეთა რაღაც ორი სურათები რაღაც ანიმაციური ბანერი. მაშინ შეგიძლიათ "ცუდი" ბრაუზერების მომხმარებლები (და თქვენ, იმედი მაქვს, არ არის მთლიანად ალტრუიზმის სრულიად მოკლული), ერთი ამ სურათების საშუალებით,

რა რედაქტორები წერენ სკრიპტებს

ალბათ, არსებობს სპეციალური რედაქტორები JavaScript- ისთვის. მე არ შეხვდა ვინმეს და არ გამოიყურება ძალიან ბევრი. ჩვეულებრივ სკრიპტები დაწერილია იმავე რედაქტორებში, რომლებიც გამოიყენება ვებ-გვერდებზე. მაგალითად, მე მიყვარს homesite. ამ რედაქციებში სკრიპტის წერა არ განსხვავდება მარტივი ნოუთბუქში, გარდა კოდექსის განათების გარდა. და ეს ზოგჯერ ბევრს ეხმარება. მე გადმოწერილი ერთხელ სკრიპტი (ზოგიერთი გერმანული), და ეს არ მუშაობს. მე შევხედე კოდს და დავინახე, რომ სიტყვა ცვლილება რატომღაც არ არის გამოყოფილი. მე ვუყურებ - და არ არის ცვლილება, მაგრამ switsch., დონერი, სველი! მე ამოიღეს წიფელი - და წავიდა.

სხვათა შორის, ყველა ჩვენს მაგალითში, კოდი გამოიყურება ზუსტად ისე, როგორც სახალხო ფანჯარაში.

ოთახიდან კარიერაში

ქვემოთ მოყვანილი მაგალითია დუნაევის პლაგიატი. მაგრამ ის იმდენად მარტივია და ღრმაა, რომ ვერ გაუძლო. აქ დაემატა მხოლოდ რამდენიმე დეტალს ჩაწერის დიზაინს, რომ ახსნას ამავე დროს და მათი.

დაუყოვნებლივ მე გაფრთხილებთ: თითქმის ეს მაგალითი აბსოლუტურად უსარგებლოა. მაგრამ ეს კონცენტრირებულია JavaScript ენის მრავალი ძირითადი კონცეფცია და მისი სინტაქსი.

მაგალითი 1.

სინამდვილეში სცენარი

თუ ეს კოდი გადაწერეთ ქსელის Notepad გვერდზე და შეინახეთ როგორც ფაილი. Html, მაშინ, როდესაც თქვენ გახსენით ფაილი, ნახავთ შემდეგს:

მოდით გავიგოთ, როგორ გამოდის.

var x \u003d 5;

აქ ჩვენ ვაცხადებთ ცვლადი x, რომელიც ტოლია 5.

შეჩერება! იცით რა ცვლადი?

თუ არა, დააჭირეთ ამ და წაიკითხეთ ახსნა.

როგორ მუშაობს კომპიუტერი? ყველა მონაცემები შენახულია დისკზე, და ადგილი, სადაც ისინი ტყუილია, უნდა აღინიშნოს, სად უნდა ვეძებოთ. ნებისმიერი პროგრამა (და სკრიპტი არაფერია მცირე პროგრამა) მუშაობს ზოგიერთ მონაცემთან. აქედან გამომდინარე, მათთვის სასწრაფოდ "ადგილი გაიტანეთ". ეს ადგილი ეს არის აღინიშნება მეხსიერება და ცვლადი ხდება. რატომ "ცვლადი"? იმის გამო, რომ ეს ტერიტორია შეიძლება სხვადასხვა ღირებულებებით იყოს სავსე. მაგალითად, როდესაც ჩვენ ვმუშაობთ კალკულატორთან, ნომრებზე და ქმედებებთან, რომლითაც ჩვენ შედის პროგრამაში შესაბამისი ცვლადების მიერ. და როდესაც თქვენ დააჭირეთ აღსრულების ღილაკს, ალგორითმი იყენებს ღირებულებებს, რომლებიც ჩვენ შევიდნენ.

პროგრამის კოდექსში, ცვლადები აღინიშნება სახელები, რომ ჩვენ თვითონ გამოგონყოფთ მათთვის. სახელების შესაქმნელად, არსებობს გარკვეული წესები, რომლებიც შეიძლება განსხვავდებოდეს სხვადასხვა პროგრამირებაში ენებზე. ეს შეზღუდვები, რომელიც აღწერილია ქვემოთ, კერძოდ JavaScript- ში.

var. - სიტყვით გამოცხადების ცვლადი (ინგლისური ცვლადი).

x. - ცვლადი სახელი.

შეზღუდვები: მხოლოდ ლათინური ასოები (ნებისმიერი რეესტრი), ნომრები და სიმბოლო სიმბოლო შეიძლება გამოყენებულ იქნას ცვლადი სახელით. ამ შემთხვევაში, ცვლადი არ უნდა დაიწყოს ნომრები. და არ ხარვეზები.

მარჯვენა ცვლადი სახელები:

არასწორი ცვლადი სახელები:

JavaScript ენა მგრძნობიარეა რეესტრში.

მირვარი., მირვარი. და მირვარი. - სხვადასხვა ცვლადები.

(სხვათა შორის, რეგისტრაციის შესახებ. ენა არის დაწერილი დიდი J და S: JavaScript. არსებობს misconception, რომ ეს არის ის, თუ როგორ არის აუცილებელი დაწერა ეს სიტყვა HTML tags- ში. მაგრამ HTML არ არის მგრძნობიარე რეგისტრაცია, ასე რომ თქვენ შეგიძლიათ დაწეროთ, როგორც თქვენ გთხოვთ. მე პატარა, როგორც ჩემი საყვარელი სახალისო, ვინმე - დიდი.)

ამ სცენარში, ცვალებად დაუყოვნებლივ, როდესაც გამოცხადდება ღირებულება. ეს არ არის სავალდებულო. ღირებულება შეიძლება მოგვიანებით. დასასრულს ხაზი არის წერტილი მძიმით. ეს ასე არ არის აუცილებელი. მაგრამ დიდი და კომპლექსური სკრიპტები ზოგჯერ მნიშვნელოვანია, ამიტომ მე ვაჩვენებ სრული დეტალური ჩანაწერი. Dunaev აქვს ეს სიმებიანი მხოლოდ x \u003d 5., აშკარა განცხადება var. აქ ასევე არ არის აუცილებელი. მაგრამ (IMHO) ჯერ კიდევ სასურველია.

მომდევნო ხაზში, როგორც თქვენ უკვე შეგიძლიათ გამოიცანით, ცვლადი გამოაცხადა y.. მას მიეცა მნიშვნელობა უკვე გამოცხადებული x., 3 მეტი x..

და მაშინ მეთოდი ეწოდება alert ().

ეს მეთოდი აჩვენებს დიალოგურ ყუთს ფრჩხილებში მითითებულ შეტყობინებასთან. ეს არის ყველა JavaScript მეთოდების სინტაქსი: მეთოდის და ფრჩხილების სახელი მისი შინაარსით.

ამ მეთოდის შინაარსი ცვლადი Y- ის ღირებულებაა და დიალოგურ ფანჯარაში ჩვენ ვნახავთ რვა. მიხვდა რატომ?

სასარგებლო წვრილმანი

მას შემდეგ, რაც შევხვდით მეთოდს alert (), მაშინ აქ არის მისი მარტივი და სასარგებლო პროგრამა: ზოგჯერ რამდენიმე გვერდის საიტი ჯერ არ გაკეთებულა, და ბმულები უკვე მომზადებულია. უსიამოვნოა "გვერდი 404". ასევე არ არის ძალიან სასიამოვნო, რომ დაველოდოთ მას, სანამ ის ფეხსაცმელი, და შემდეგ გაირკვეს, რომ სექცია განვითარებაში. მე ყოველთვის სამწუხაროა ასეთი კავშირები შემდეგნაირად:

"JavaScript: Alert (" გვერდი განვითარებაში ");
\u003e მენიუ საქონელი

სხვათა შორის, აქ არის კიდევ ერთი გზა JavaScript კოდი HTML კოდით. აქ არის ატრიბუტის ჩასმა href. საკვანძო სიტყვები და გააცნო სიტყვით " javascript:"(მსხვილი ნაწლავისა და შემდგომი სივრცეებით: ყოველთვის ყურადღება მიაქციეთ სინტაქსურ ტრივიას). ყურადღება მიაქციეთ HTML ატრიბუტის ღირებულების ტრადიციულ ორმაგ შეთავაზებებს და "SEPLED" ერთჯერადი შეთავაზებები სცენარის ტექსტში.

ძალიან მალე გავიგებთ სპეციალურ "ღონისძიებას" HTML ტეგების ატრიბუტებს, მაგალითად, onclick.რომლებიც სპეციალურად შექმნილია JavaScript კოდის დანერგვაზე და არ საჭიროებს სიტყვას.

ასე რომ, ჩვენ ვისწავლეთ:

როგორ გამოაცხადოთ სკრიპტი HTML დოკუმენტში, რომელიც ფორმებს აქვს JavaScript- ის კომენტარები, როგორ გამოაცხადოთ ცვლადები და მათ სწორი სახელები, ისევე როგორც მეთოდების სინტაქსი და კონკრეტულად მზადყოფნა () მეთოდი.

და ასევე შეიტყო: