рдЕрд░реЗрд░реЗ, рдореА рддреЗ рдкреБрдиреНрд╣рд╛ рдХреЗрд▓реЗ: JavaScript рдордзреАрд▓ рд╕рд╛рдорд╛рдиреНрдп рддреНрд░реБрдЯреА рдбреАрдмрдЧ рдХрд░рдгреЗ

рдЕрд░реЗрд░реЗ, рдореА рддреЗ рдкреБрдиреНрд╣рд╛ рдХреЗрд▓реЗ: JavaScript рдордзреАрд▓ рд╕рд╛рдорд╛рдиреНрдп рддреНрд░реБрдЯреА рдбреАрдмрдЧ рдХрд░рдгреЗ

JavaScript рдХреЛрдб рд▓рд┐рд╣рд┐рдгреЗ рдЖрд╡реНрд╣рд╛рдирд╛рддреНрдордХ рдЖрдгрд┐ рдХрд╛рд╣реАрд╡реЗрд│рд╛ рд╕рд░рд│ рднреАрддреАрджрд╛рдпрдХ рдЕрд╕реВ рд╢рдХрддреЗ, рдХрд╛рд░рдг рдмрд░реЗрдЪ рд╡рд┐рдХрд╛рд╕рдХ рдкрд░рд┐рдЪрд┐рдд рдЖрд╣реЗрдд. рдХрд╛рдорд╛рдЪреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрдд, рддреНрд░реБрдЯреА рдЕрдкрд░рд┐рд╣рд╛рд░реНрдпрдкрдгреЗ рдЙрджреНрднрд╡рддрд╛рдд рдЖрдгрд┐ рддреНрдпрд╛рдкреИрдХреА рдХрд╛рд╣реА рд╡рд╛рд░рдВрд╡рд╛рд░ рдкреБрдирд░рд╛рд╡реГрддреНрддреА рд╣реЛрддрд╛рдд. рд╣рд╛ рд▓реЗрдЦ, рдирд╡рд╢рд┐рдХреНрдпрд╛ рд╡рд┐рдХрд╕рдХрд╛рдВрдЪреНрдпрд╛ рдЙрджреНрджреЗрд╢рд╛рдиреЗ, рдпрд╛ рддреНрд░реБрдЯреАрдВрдмрджреНрджрд▓ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд╕реЗ рдХрд░рд╛рд╡реЗ рдпрд╛рдмрджреНрджрд▓ рдмреЛрд▓рддреЛ. рд╕реНрдкрд╖реНрдЯрддреЗрд╕рд╛рдареА, рдлрдВрдХреНрд╢рдиреНрд╕, рдЧреБрдгрдзрд░реНрдо рдЖрдгрд┐ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕рдЪреА рдирд╛рд╡реЗ рдШреЗрддрд▓реА рдЬрд╛рддрд╛рдд рдкреНрд░рд╕рд┐рджреНрдз рдЧрд╛рдгреЗ. рд╣реЗ рд╕рд░реНрд╡ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рд╕рд╛рдорд╛рдиреНрдп рдЪреБрдХрд╛ рдХрд╢рд╛ рджреБрд░реБрд╕реНрдд рдХрд░рд╛рдпрдЪреНрдпрд╛ рд╣реЗ рджреНрд░реБрддрдкрдгреЗ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рдгреНрдпрд╛рд╕ рдорджрдд рдХрд░рддреЗ.

рдЖрдореНрд╣реА рдЖрдард╡рдг рдХрд░реВрди рджреЗрддреЛ: рд╕рд░реНрд╡ Habr рд╡рд╛рдЪрдХрд╛рдВрд╕рд╛рдареА - Habr рдкреНрд░реЛрдореЛ рдХреЛрдб рд╡рд╛рдкрд░реВрди рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕реНрдХрд┐рд▓рдмреЙрдХреНрд╕ рдХреЛрд░реНрд╕рдордзреНрдпреЗ рдирд╛рд╡рдиреЛрдВрджрдгреА рдХрд░рддрд╛рдирд╛ 10 рд░реВрдмрд▓ рд╕рд╡рд▓рдд.

рд╕реНрдХрд┐рд▓рдмреЙрдХреНрд╕ рд╢рд┐рдлрд╛рд░рд╕ рдХрд░рддреЛ: рдкреНрд░реЕрдХреНрдЯрд┐рдХрд▓ рдХреЛрд░реНрд╕ "рдореЛрдмрд╛рдЗрд▓ рдбреЗрд╡реНрд╣рд▓рдкрд░ рдкреНрд░реЛ".

TypeError: рдорд╛рд▓рдорддреНрддрд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реЗрд▓реА рдирд╛рд╣реА

let girl = {
    name: "Lucky",
    location: "Hollywood",
    profession: "star",
    thingsMissingInHerLife: true,
    lovely: true,
    cry: function() {
        return "cry, cry, cries in her lonely heart"
    }
}
console.log(girl.named.lucky)

рд╡рд░реАрд▓ рдЙрджрд╛рд╣рд░рдг рдХреЛрдб рддреНрд░реБрдЯреА рдлреЗрдХрддреЗ Uncaught TypeError: рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд 'рд▓рдХреА' рдЧреБрдгрдзрд░реНрдо рд╡рд╛рдЪреВ рд╢рдХрдд рдирд╛рд╣реА. рд╕рдорд╕реНрдпрд╛ рдЕрд╢реА рдЖрд╣реЗ рдХреА рдореБрд▓реАрдЪреНрдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯрдордзреНрдпреЗ рдирд╛рд╡рд╛рдЪреА рдорд╛рд▓рдорддреНрддрд╛ рдирд╕рд▓реА рддрд░реАрд╣реА рддрд┐рдЪреНрдпрд╛рдХрдбреЗ рдирд╛рд╡рд╛рдЪреА рдорд╛рд▓рдорддреНрддрд╛ рдЖрд╣реЗ. рдЖрдгрд┐ рдореБрд▓реАрдЪреНрдпрд╛ рдирд╛рд╡рд╛рдЪреНрдпрд╛ рдорд╛рд▓рдорддреНрддреЗрдЪреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдирд╕рд▓реНрдпрд╛рдореБрд│реЗ, рддреБрдореНрд╣реА рддреНрдпрд╛рдд рдкреНрд░рд╡реЗрд╢ рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА, рдХрд╛рд░рдг рдФрдкрдЪрд╛рд░рд┐рдХрдкрдгреЗ рддреА рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдирд╛рд╣реА. рдкрд░рдВрддреБ рдЬрд░ рддреБрдореНрд╣реА girl.named.lucky рдЪреНрдпрд╛ рдЬрд╛рдЧреА girl.name рдиреЗ рдХреЗрд▓реЗ рддрд░ рд╕рд░реНрд╡рдХрд╛рд╣реА рдХрд╛рд░реНрдп рдХрд░реЗрд▓ рдЖрдгрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рдХреА рдкрд░рдд рдХрд░реЗрд▓.

рдЖрдкрдг рдЧреБрдгрдзрд░реНрдорд╛рдВрдмрджреНрджрд▓ рдЕрдзрд┐рдХ рдЬрд╛рдгреВрди рдШреЗрдК рд╢рдХрддрд╛ рдпреЗрдереЗ рд╡рд╛рдЪрд╛.

TypeErrors рдХрд╕реЗ рд╕реЛрдбрд╡рд╛рдпрдЪреЗ

рдЬреЗрд╡реНрд╣рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░рд╛рд╢реА рдЬреБрд│рдд рдирд╕рд▓реЗрд▓реНрдпрд╛ рдбреЗрдЯрд╛рд╡рд░ рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддреЛ рддреЗрд╡реНрд╣рд╛ TypeErrors рдЙрджреНрднрд╡рддрд╛рдд. рдЙрджрд╛рд╣рд░рдгрд╛рдВрдордзреНрдпреЗ .bold() рд╡рд╛рдкрд░рдгреЗ, рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧреБрдгрдзрд░реНрдо рд╡рд┐рдЪрд╛рд░рдгреЗ рдХрд┐рдВрд╡рд╛ рдлрдВрдХреНрд╢рди рдХреЙрд▓ рдХрд░рдгреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ рдЬреЗ рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд рдлрдВрдХреНрд╢рди рдирд╛рд╣реА.

рддрд░, рдЬрд░ рддреБрдореНрд╣реА рдЧрд░реНрд▓() рд▓рд╛ рдХреЙрд▓ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХреЗрд▓рд╛рдд, рддрд░ рддреБрдореНрд╣рд╛рд▓рд╛ Uncaught TypeError рдЕрд╢реА рддреНрд░реБрдЯреА рдпреЗрдИрд▓: yourVariable.bold рд╣реЗ рдлрдВрдХреНрд╢рди рдирд╛рд╣реА рдЖрдгрд┐ рдЧрд░реНрд▓ рд╣реЗ рдлрдВрдХреНрд╢рди рдирд╛рд╣реА, рдХрд╛рд░рдг рддреА рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд рдХреЙрд▓ рдХреЗрд▓реЗрд▓реА рдСрдмреНрдЬреЗрдХреНрдЯ рдЖрд╣реЗ, рдлрдВрдХреНрд╢рди рдирд╛рд╣реА.

рддреНрд░реБрдЯреА рджреВрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдЪрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рддрд░, рдореБрд▓рдЧреА рдореНрд╣рдгрдЬреЗ рдХрд╛рдп? рдореБрд▓реАрдЪреЗ рдирд╛рд╡ рдХрд╛рдп рдЖрд╣реЗ? рддреБрдореНрд╣реА рдХреЛрдбрдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реВрди, console.log, рдбреАрдмрдЧрд░ рдХрдорд╛рдВрдб рд╡рд╛рдкрд░реВрди рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реВрди рдХрд┐рдВрд╡рд╛ рдХрдиреНрд╕реЛрд▓рдордзреАрд▓ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рдирд╛рд╡рд╛рд╡рд░ рдХреЙрд▓ рдХрд░реВрди рд╢реЛрдзреВ рд╢рдХрддрд╛. рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдордзреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░рд╛рд╡рд░ рдСрдкрд░реЗрдЯ рдХрд░рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ рдпрд╛рдЪреА рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЦрд╛рддреНрд░реА рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЬрд░ рддреЗ рдмрд╕рдд рдирд╕реЗрд▓, рддрд░ рддреЗ рдмрджрд▓рд╛, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдПрдХ рдЕрдЯ рдЬреЛрдбрд╛ рдХрд┐рдВрд╡рд╛ рдкреНрд░рдпрддреНрди рдХрд░рд╛..рдмреНрд▓реЙрдХ рдкрдХрдбрд╛ - рдЖрдгрд┐ рдСрдкрд░реЗрд╢рдирдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╡рд░ рдирд┐рдпрдВрддреНрд░рдг рдорд┐рд│рд╡рд╛.

рд╕реНрдЯреЕрдХ рдУрд╡реНрд╣рд░рдлреНрд▓реЛ

рдЬрд░ рддреБрдореНрд╣реА рдмреЗрдмреА рд╡рди рдореЛрдЕрд░ рдЯрд╛рдИрдо (рд╣реЗ рдмреНрд░рд┐рдЯрдиреА рд╕реНрдкреАрдпрд░реНрд╕, рд╣реЛрдп) рдЧрд╛рдгреНрдпрд╛рдЪреЗ рдмреЛрд▓ рд▓реЗрдЦрдХрд╛рдВрд╡рд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдареЗрд╡рдд рдЕрд╕рд╛рд▓, рддрд░ рдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд рд╣рд┐рдЯ рдпрд╛ рд╢рдмреНрджрд╛рдЪрд╛ рдЕрд░реНрде рдЧрд╛рдпрдХрд╛рдЪреА рдкреБрдиреНрд╣рд╛ рдмреЛрд▓рд╛рд╡рдгреНрдпрд╛рдЪреА рдЗрдЪреНрдЫрд╛ рдЖрд╣реЗ (рдпреЗрдереЗ рдпрд╛ рдЧрд╛рдгреНрдпрд╛рдЪреНрдпрд╛ рдЕрдЧрджреА рд╕рдВрджрд░реНрднрд╛рдЪреЗ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдЖрд╣реЗ. рдЧрд╛рдгреЗ - рдЕрдиреБрд╡рд╛рджрдХрд╛рдЪреА рдиреЛрдВрдж). рдЕрд╕реЗ рд╣реЛрдК рд╢рдХрддреЗ рдХреА рдпрд╛ рдЗрдЪреНрдЫреЗрдореБрд│реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рдирд╛рдд рдХреЙрд▓рдЪреА рд╕рдВрдЦреНрдпрд╛ рд╡рд╛рдвреЗрд▓. рдкрд░рдВрддреБ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧрдордзреНрдпреЗ, рд╣реЗ рдПрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдЖрд╣реЗ рдЬреНрдпрд╛рдореБрд│реЗ рдХреЙрд▓ рд╕реНрдЯреЕрдХ рдУрд╡реНрд╣рд░рдлреНрд▓реЛ рдЭрд╛рд▓реНрдпрд╛рд╕ рддреНрд░реБрдЯреА рдпреЗрдК рд╢рдХрддреЗ.

рддреНрд░реБрдЯреА рдпрд╛рд╕рд╛рд░рдЦреНрдпрд╛ рджрд┐рд╕рддрд╛рдд:

рдПрд░рд░: рд╕реНрдЯреЕрдХ рд╕реНрдкреЗрд╕ рд╕рдВрдкрд▓реА (рдПрдЬ)
рдЕрдВрддрд░реНрдЧрдд рддреНрд░реБрдЯреА: рдЦреВрдк рдЬрд╛рд╕реНрдд рдкреБрдирд░рд╛рд╡реГрддреНрддреА (рдлрд╛рдпрд░рдлреЙрдХреНрд╕)
рд░реЗрдВрдЬрдПрд░рд░: рдХреЙрд▓ рд╕реНрдЯреЕрдХрдЪрд╛ рдХрдорд╛рд▓ рдЖрдХрд╛рд░ рдУрд▓рд╛рдВрдбрд▓рд╛ (Chrome)

рд╡рд┐рдХрд╛рд╕рдХрд╛рдиреЗ рдкреБрдирд░рд╛рд╡реГрддреНрддреАрдордзреНрдпреЗ рдмреЗрд╕ рдХреЗрд╕ рд╡рд┐рдЪрд╛рд░рд╛рдд рди рдШреЗрддрд▓реНрдпрд╛рд╕ рдХрд┐рдВрд╡рд╛ рдХреЛрдб рдЗрдЪреНрдЫрд┐рдд рдХреЗрд╕рд▓рд╛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдд рдирд╕рд▓реНрдпрд╛рд╕ рд╕реНрдЯреЕрдХ рдУрд╡реНрд╣рд░рдлреНрд▓реЛ рд╣реЛрддреЛ.

function oneMoreTime(stillBelieve=true, loneliness=0) {
    if (!stillBelieve && loneliness < 0) return
    loneliness++
    return oneMoreTime(stillBelieve, loneliness)
}

рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, stillBelieve рдХрдзреАрд╣реА рдЦреЛрдЯреЗ рдЕрд╕реВ рд╢рдХрдд рдирд╛рд╣реА, рдореНрд╣рдгреВрди рдкреНрд░рддреНрдпреЗрдХ рд╡реЗрд│реА OneMoreTime рдХреЙрд▓ рдХреЗрд▓рд╛ рдЬрд╛рдИрд▓, рдкрд░рдВрддреБ рдлрдВрдХреНрд╢рди рдХрдзреАрд╣реА рдкреВрд░реНрдг рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА.

рдЬрд░ рддреБрдореНрд╣реА рджреЛрди рдорд┐рддреНрд░рд╛рдВрд╡рд░ рд╡рд┐рд╕рдВрдмреВрди рд░рд╛рд╣рдгреНрдпрд╛рд╕ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА рддрд░ рдпрд╛рдореБрд│реЗ рдПрдХрдЯреЗрдкрдгрд╛ рдХрдореА рд╣реЛрдИрд▓ рдЖрдгрд┐ рддреБрдореНрд╣рд╛рд▓рд╛ рдХреЙрд▓рдЪреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рд╛рд╡реА рд▓рд╛рдЧрдгрд╛рд░ рдирд╛рд╣реА.

function oneMoreTime(stillBelieve=true, loneliness=0) {
    if (!stillBelieve && loneliness < 0) return
    loneliness--
    stillBelieve = false
    return oneMoreTime(stillBelieve, loneliness)
}

рдЙрджрд╛рд╣рд░рдг рдореНрд╣рдгрдЬреЗ рдЕрдирдВрдд рд▓реВрдк рдЕрд╕рд▓реЗрд▓реА рдкреНрд░рдХрд░рдгреЗ, рдЬреЗрд╡реНрд╣рд╛ рд╕рд┐рд╕реНрдЯрдо рдПрд░рд░ рдореЗрд╕реЗрдЬ рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рдЬреНрдпрд╛ рдкреГрд╖реНрдард╛рд╡рд░ JavaScript рдХреЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ рддреЗ рдлрдХреНрдд рдлреНрд░реАрдЭ рд╣реЛрддреЗ. рд╣реЗ рдШрдбрддреЗ рдЬрд░ while рд▓реВрдкрдордзреНрдпреЗ рдЯрд░реНрдорд┐рдиреЗрд╢рди рдЕрдЯ рдирд╕реЗрд▓.

let worldEnded = false
 
while (worldEnded !== true) {
  console.log("Keep on dancin' till the world ends")
}

рдЖрдкрдг рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡реВ рд╢рдХрддрд╛:

let worldEnded = false
 
while (worldEnded !== true) {
  console.log("Keep on dancin' till the world ends")
  worldEnded = true
}

рдЕрдирдВрдд рд▓реВрдк рдЖрдгрд┐ рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдбреАрдмрдЧ рдХрд░рдгреЗ

рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрдирдВрдд рд▓реВрдк рд╕рдорд╕реНрдпрд╛ рдЕрд╕рд▓реНрдпрд╛рд╕, рддреБрдореНрд╣рд╛рд▓рд╛ Chrome рдХрд┐рдВрд╡рд╛ Edge рдордзреАрд▓ рдЯреЕрдм рдмрдВрдж рдХрд░рдгреЗ рдЖрдгрд┐ Firefox рдордзреАрд▓ рдмреНрд░рд╛рдЙрдЭрд░ рд╡рд┐рдВрдбреЛ рдмрдВрдж рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдпрд╛рдирдВрддрд░, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдХреЛрдбрдЪреЗ рдХрд╛рд│рдЬреАрдкреВрд░реНрд╡рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рдорд╕реНрдпрд╛ рд╕рд╛рдкрдбрдд рдирд╕рд▓реНрдпрд╛рд╕, рддреБрдордЪреНрдпрд╛ рд▓реВрдк рдХрд┐рдВрд╡рд╛ рдлрдВрдХреНрд╢рдирдордзреНрдпреЗ рдбреАрдмрдЧрд░ рдХрдорд╛рдВрдб рдЬреЛрдбрдгреЗ рдЖрдгрд┐ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдЪреА рд╡реНрд╣реЕрд▓реНрдпреВ рддрдкрд╛рд╕рдгреЗ рдлрд╛рдпрджреЗрд╢реАрд░ рдЖрд╣реЗ. рдЬрд░ рдкрд░рд┐рдгрд╛рдо рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реЛрддрд╛ рддреНрдпрд╛ рдЕрдиреБрд░реВрдк рдирд╕реЗрд▓, рддрд░ рдЖрдореНрд╣реА рддреЗ рдмрджрд▓рддреЛ, рд╣реЗ рд╕рд╣рдЬрдкрдгреЗ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.

рд╡рд░реАрд▓ рдЙрджрд╛рд╣рд░рдгрд╛рдордзреНрдпреЗ, рдлрдВрдХреНрд╢рди рдХрд┐рдВрд╡рд╛ рд▓реВрдкрдЪреА рдкрд╣рд┐рд▓реА рдУрд│ рдореНрд╣рдгреВрди рдбреАрдмрдЧрд░ рдЬреЛрдбрд▓реЗ рдЬрд╛рд╡реЗ. рдордЧ рддреБрдореНрд╣рд╛рд▓рд╛ Chrome рдордзреНрдпреЗ рдбреАрдмрдЧ рдЯреЕрдм рдЙрдШрдбрдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ, рд╕реНрдХреЛрдкрдордзреАрд▓ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рд╛. рдкреБрдвреАрд▓ рдмрдЯрдг рд╡рд╛рдкрд░реВрди рддреБрдореНрд╣реА рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддреАрд╕рд╣ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдмрджрд▓рд╛рдВрдЪрд╛ рдорд╛рдЧреЛрд╡рд╛ рдШреЗрдК рд╢рдХрддрд╛. рд╣реЗ рд╕рд░реНрд╡ рдХрд░рдгреЗ рд╕реЛрдкреЗ рдЖрд╣реЗ, рдЖрдгрд┐ рдмрд╣реБрддреЗрдХ рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ рд╕рдорд╕реНрдпрд╛ рдЖрдврд│рддреЗ.

рдЖрдкрдг рдпрд╛ рд╕рд░реНрд╡рд╛рдВрдмрджреНрджрд▓ рдпреЗрдереЗ рдЕрдзрд┐рдХ рд╡рд╛рдЪреВ рд╢рдХрддрд╛ (Chrome рд╕рд╛рдареА) рдЖрдгрд┐ рдЗрдереЗ (рдлрд╛рдпрд░рдлреЙрдХреНрд╕ рд╕рд╛рдареА).

рд╡рд╛рдХреНрдпрд░рдЪрдиреЗрдЪреА рдЪреВрдХ

JavaScript рдордзреАрд▓ рд╕рд░реНрд╡рд╛рдд рд╕рд╛рдорд╛рдиреНрдп рддреНрд░реБрдЯреАрдВрдкреИрдХреА рдПрдХ рдореНрд╣рдгрдЬреЗ рд╕рд┐рдВрдЯреЕрдХреНрд╕ рдПрд░рд░. рдордЬрдХреВрд░ рд╕рдВрдкрд╛рджрдХ рд╡рд┐рд╕реНрддрд╛рд░ рддреБрдореНрд╣рд╛рд▓рд╛ рддреЗ рдЯрд╛рд│рдгреНрдпрд╛рд╕ рдорджрдд рдХрд░рддреАрд▓. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдмреНрд░реЕрдХреЗрдЯ рдкреЗрдЕрд░ рдХрд▓рд░рд╛рдЗрдЬрд░ рдХреЛрдбрдордзреАрд▓ рдХрдВрд╕рд╛рдВрдирд╛ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рд░рдВрдЧрд╛рдВрд╕рд╣ рдЪрд┐рдиреНрд╣рд╛рдВрдХрд┐рдд рдХрд░рддреЗ рдЖрдгрд┐ рдкреНрд░реАрдЯрд┐рдпрд░ рдХрд┐рдВрд╡рд╛ рддрддреНрд╕рдо рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕рд╛рдзрдирд╛рдореБрд│реЗ рддреНрд╡рд░реАрдд рддреНрд░реБрдЯреА рд╢реЛрдзрдгреЗ рд╢рдХреНрдп рд╣реЛрддреЗ. рд╕рд┐рдВрдЯреЕрдХреНрд╕ рдПрд░рд░рдЪреА рд╢рдХреНрдпрддрд╛ рдХрдореА рдХрд░рдгреНрдпрд╛рдЪрд╛ рд╕рд░реНрд╡реЛрддреНрддрдо рдкрд░реНрдпрд╛рдп рдореНрд╣рдгрдЬреЗ рдХрд┐рдорд╛рди рдШрд░рдЯреЗ рдмрд╛рдВрдзрдгреЗ.

рдЯрд┐рдкреНрдкрдгреНрдпрд╛рдВрдордзреНрдпреЗ рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░рд╛: рдЪреБрдХрд╛ рдЯрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА рдХрд┐рдВрд╡рд╛ рддреНрд╡рд░реАрдд рд╢реЛрдзреВрди рдХрд╛рдвреВрди рдЯрд╛рдХрдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣реА рдХрд╛рдп рдХрд░рддрд╛?

рд╕реНрдХрд┐рд▓рдмреЙрдХреНрд╕ рд╢рд┐рдлрд╛рд░рд╕ рдХрд░рддреЛ:

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛