{"id":50491,"date":"2023-12-17T07:51:41","date_gmt":"2023-12-17T07:51:41","guid":{"rendered":"https:\/\/masterskills.org\/blog\/bo-cau-hoi-phong-van-javascript-huu-ich.html"},"modified":"2023-12-17T07:51:41","modified_gmt":"2023-12-17T07:51:41","slug":"bo-cau-hoi-phong-van-javascript-huu-ich","status":"publish","type":"post","link":"https:\/\/masterskills.org\/blog\/bo-cau-hoi-phong-van-javascript-huu-ich.html","title":{"rendered":"B\u1ed9 C\u00e2u H\u1ecfi Ph\u1ecfng V\u1ea5n Javascript H\u1eefu \u00cdch"},"content":{"rendered":"<div class=\"col\">\n<p>B\u1ea1n c\u00f3 ph\u1ea3i l\u00e0 m\u1ed9t l\u1eadp tr\u00ecnh vi\u00ean Javascript v\u00e0 chu\u1ea9n b\u1ecb c\u00f3 m\u1ed9t bu\u1ed5i ph\u1ecfng v\u1ea5n v\u1edbi nh\u00e0 tuy\u1ec3n d\u1ee5ng \u0111\u1ec3 c\u00f3 \u0111\u01b0\u1ee3c m\u1ed9t c\u00f4ng vi\u1ec7c m\u01a1 \u01b0\u1edbc. V\u1eady th\u00ec \u0111\u1eebng b\u1ecf qua b\u00e0i vi\u1ebft d\u01b0\u1edbi \u0111\u00e2y c\u1ee7a Masterskills v\u00ec ch\u00fang m\u00ecnh s\u1ebd mang \u0111\u1ebfn cho b\u1ea1n <strong>b\u1ed9 c\u00e2u h\u1ecfi ph\u1ecfng v\u1ea5n Javascript<\/strong> h\u1eefu \u00edch, gi\u00fap b\u1ea1n t\u1ef1 tin h\u01a1n trong b\u1ea5t k\u1ef3 bu\u1ed5i ph\u1ecfng v\u1ea5n n\u00e0o s\u1eafp t\u1edbi. C\u00f9ng b\u1eaft \u0111\u1ea7u n\u00e0o.\u00a0<\/p>\n<h2 class=\"wp-block-heading\" id=\"h-cac-cau-h\u1ecfi-ph\u1ecfng-v\u1ea5n-javascript-va-cach-tr\u1ea3-l\u1eddi\"><strong>C\u00e1c c\u00e2u h\u1ecfi ph\u1ecfng v\u1ea5n Javascript v\u00e0 c\u00e1ch tr\u1ea3 l\u1eddi<\/strong><\/h2>\n<h3 class=\"wp-block-heading\" id=\"h-gi\u1ea3i-thich-phep-so-sanh-trong-javascript\"><strong>Gi\u1ea3i th\u00edch ph\u00e9p so s\u00e1nh trong JavaScript<\/strong><\/h3>\n<p><strong>1. Ph\u00e9p so s\u00e1nh b\u1eb1ng<\/strong><\/p>\n<p>Ph\u00e9p so s\u00e1nh === (!=): Ph\u00e9p so s\u00e1nh b\u1eb1ng trong Javascript tu\u00e2n theo quy t\u1eafc:\u00a0<\/p>\n<ul>\n<li>N\u1ebfu hai v\u1ebf c\u1ee7a ph\u00e9p so s\u00e1nh kh\u00e1c ki\u1ec3u d\u1eef li\u1ec7u, k\u1ebft qu\u1ea3 l\u00e0 false<\/li>\n<li>Khi hai v\u1ebf l\u00e0 ki\u1ec3u Number, n\u1ebfu 1 trong 2 l\u00e0 NaN, k\u1ebft qu\u1ea3 tr\u1ea3 v\u1ec1 s\u1ebd l\u00e0 false. N\u1ebfu kh\u00f4ng ta ph\u1ea3i so s\u00e1nh gi\u00e1 tr\u1ecb<\/li>\n<li>Khi hai v\u1ebf l\u00e0 ki\u1ec3u String th\u00ec ta c\u1ea7n so s\u00e1nh n\u1ed9i dung, n\u1ebfu n\u1ed9i dung gi\u1ed1ng nhau s\u1ebd ra k\u1ebft qu\u1ea3 true, n\u1ed9i dung kh\u00e1c nhau l\u00e0 false<\/li>\n<li>Khi hai v\u1ebf l\u00e0 ki\u1ec3u Boolean, n\u1ebfu c\u00f9ng true ho\u1eb7c c\u00f9ng false th\u00ec k\u1ebft qu\u1ea3 l\u00e0 true, c\u00f2n l\u1ea1i s\u1ebd ra k\u1ebft qu\u1ea3 false<\/li>\n<li>Khi hai v\u1ebf l\u00e0 ki\u1ec3u \u0111\u1eb7c bi\u1ebft nh\u01b0 undefined, null, n\u1ebfu nh\u01b0 c\u00f9ng underfined ho\u1eb7c c\u00f9ng th\u00ec l\u00e0 true, c\u00f2n l\u1ea1i l\u00e0 false<\/li>\n<\/ul>\n<p>Ph\u00e9p so s\u00e1nh ==(!=) c\u0169ng tu\u00e2n theo c\u00e1c quy lu\u1eadt nh\u01b0 sau:<\/p>\n<ul>\n<li><strong>N\u1ebfu hai v\u1ebf c\u00f3 c\u00f9ng ki\u1ec3u d\u1eef li\u1ec7u, ta quy ch\u00fang v\u1ec1 ki\u1ec3u so s\u00e1nh ===<\/strong><\/li>\n<\/ul>\n<ul>\n<li><strong>N\u1ebfu kh\u00e1c ki\u1ec3u d\u1eef li\u1ec7u:<\/strong>\n<ul>\n<li>N\u1ebfu m\u1ed9t trong hai v\u1ebf l\u00e0 Number, v\u1ebf c\u00f2n l\u1ea1i l\u00e0 ki\u1ec3u String, ta c\u1ea7n ph\u1ea3i convert String sang ki\u1ec3u Number \u0111\u1ec3 so s\u00e1nh<\/li>\n<li>N\u1ebfu m\u1ed9t trong hai v\u1ebf l\u00e0 Number, v\u1ebf c\u00f2n l\u1ea1i l\u00e0 ki\u1ec3u Boolean, ta c\u1ea7n ph\u1ea3i convert Boolean sang Number \u0111\u1ec3 so s\u00e1nh<\/li>\n<li>N\u1ebfu m\u1ed9t trong hai v\u1ebf l\u00e0 String, v\u1ebf c\u00f2n l\u1ea1i l\u00e0 ki\u1ec3u Boolean, ta c\u1ea7n ph\u1ea3i chuy\u1ec3n c\u1ea3 2 v\u1ebf sang Number \u0111\u1ec3 so s\u00e1nh<\/li>\n<li>N\u1ebfu m\u1ed9t trong hai v\u1ebf l\u00e0 String, v\u1ebf c\u00f2n l\u1ea1i l\u00e0 ki\u1ec3u Object tham chi\u1ebfu, ta c\u1ea7n ph\u1ea3i chuy\u1ec3n Object tham chi\u1ebfu sang String \u0111\u1ec3 so s\u00e1nh<\/li>\n<li>N\u1ebfu m\u1ed9t trong hai v\u1ebf l\u00e0 Number, v\u1ebf c\u00f2n l\u1ea1i l\u00e0 ki\u1ec3u Object tham chi\u1ebfu, ta c\u1ea7n chuy\u1ec3n Object tham chi\u1ebfu sang Number \u0111\u1ec3 so s\u00e1nh<\/li>\n<li>N\u1ebfu c\u1ea3 hai v\u1ebf \u0111\u1ec1u l\u00e0 null ho\u1eb7c undefined, \u1edf \u0111\u00e2y t\u00ednh c\u1ea3 tr\u01b0\u1eddng h\u1ee3p m\u1ed9t v\u1ebf null, v\u1ebf kia l\u00e0 undefined th\u00ec l\u00e0 true<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>2. Ph\u00e9p so s\u00e1nh h\u01a1n k\u00e9m<\/strong><\/p>\n<p>Ph\u00e9p so s\u00e1nh h\u01a1n k\u00e9m bao g\u1ed3m &gt;, &lt;, &gt;=, &lt;= tu\u00e2n theo c\u00e1c quy t\u1eafc sau:\u00a0<\/p>\n<ul>\n<li>Tr\u01b0\u1eddng h\u1ee3p 1: N\u1ebfu c\u1ea3 2 v\u1ebf c\u00f9ng ki\u1ec3u\n<ul>\n<li>C\u1ea3 2 v\u1ebf \u0111\u1ec1u c\u00f9ng ki\u1ec3u Number, ta s\u1ebd so s\u00e1nh theo gi\u00e1 tr\u1ecb<\/li>\n<li>C\u1ea3 2 v\u1ebf \u0111\u1ec1u c\u00f9ng ki\u1ec3u String, ta s\u1ebd so s\u00e1nh theo th\u1ee9 t\u1ef1 UniCode<\/li>\n<\/ul>\n<\/li>\n<li>Tr\u01b0\u1eddng h\u1ee3p 2: N\u1ebfu c\u1ea3 2 v\u1ebf kh\u00e1c ki\u1ec3u, ta c\u1ea7n tu\u00e2n theo nh\u1eefng quy t\u1eafc sau:\n<ul>\n<li>N\u1ebfu m\u1ed9t trong hai v\u1ebf l\u00e0 ki\u1ec3u Number v\u00e0 ta c\u00f3 th\u1ec3 chuy\u1ec3n v\u1ebf c\u00f2n l\u1ea1i v\u1ec1 ki\u1ec3u Number, chuy\u1ec3n v\u1ec1 ki\u1ec3u Number v\u00e0 so s\u00e1nh gi\u00e1 tr\u1ecb. \u0110\u1eb7c bi\u1ec7t, n\u1ebfu 1 trong 2 l\u00e0 ki\u1ec3u NaN, k\u1ebft qu\u1ea3 l\u00e0 false<\/li>\n<li>N\u1ebfu m\u1ed9t trong hai v\u1ebf l\u00e0 ki\u1ec3u String v\u00e0 v\u1ebf c\u00f2n l\u1ea1i c\u00f3 th\u1ec3 chuy\u1ec3n v\u1ec1 ki\u1ec3u String, ta s\u1ebd chuy\u1ec3n v\u1ec1 ki\u1ec3u String v\u00e0 th\u1ef1c hi\u1ec7n so s\u00e1nh theo Unicode<\/li>\n<li>N\u1ebfu m\u1ed9t trong hai v\u1ebf l\u00e0 ki\u1ec3u Number, v\u1ebf c\u00f2n l\u1ea1i l\u00e0 ki\u1ec3u String, ta s\u1ebd chuy\u1ec3n ki\u1ec3u String v\u1ec1 ki\u1ec3u Number v\u00e0 so s\u00e1nh theo gi\u00e1 tr\u1ecb s\u1ed1<\/li>\n<li>N\u1ebfu m\u1ed9t trong hai v\u1ebf kh\u00f4ng th\u1ec3 chuy\u1ec3n v\u1ec1 ki\u1ec3u Number\/String ho\u1eb7c khi chuy\u1ec3n tr\u1edf th\u00e0nh gi\u00e1 tr\u1ecb NaN, k\u1ebft qu\u1ea3 l\u00e0 false<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3 class=\"wp-block-heading\" id=\"h-callback-function-la-gi-cho-m\u1ed9t-vi-d\u1ee5-d\u01a1n-gi\u1ea3n\"><strong>Callback function l\u00e0 g\u00ec? Cho m\u1ed9t v\u00ed d\u1ee5 \u0111\u01a1n gi\u1ea3n.<\/strong><\/h3>\n<p>Callback function \u2013 hay c\u00f2n g\u1ecdi l\u00e0 h\u00e0m g\u1ecdi l\u1ea1i \u2013 l\u00e0 m\u1ed9t h\u00e0m ch\u1ec9 \u0111\u01b0\u1ee3c th\u1ef1c thi m\u1ed9t khi h\u00e0m kh\u00e1c \u0111\u00e3 th\u1ef1c thi xong.\u00a0<\/p>\n<p>V\u00ed d\u1ee5:<\/p>\n<p><em>function writeBlog(topic, callback) {<\/em><\/p>\n<p><em>\u00a0\u00a0alert(`Starting my ${topic} blog.`);<\/em><\/p>\n<p><em>\/\/ then execute the callback function that was passed<\/em><\/p>\n<p><em>\u00a0\u00a0callback();<\/em><\/p>\n<p><em>}<\/em><\/p>\n<p><em>writeBlog(\u2018JS\u2019, function() {<\/em><\/p>\n<p><em>\u00a0\u00a0alert(\u2018Finished my blog!\u2019);<\/em><\/p>\n<p><em>});<\/em><\/p>\n<p>N\u1ebfu b\u1ea1n ch\u1ea1y \u0111o\u1ea1n code tr\u00ean, k\u1ebft qu\u1ea3 s\u1ebd tr\u1ea3 v\u1ec1 hai th\u00f4ng b\u00e1o. Th\u00f4ng b\u00e1o \u0111\u1ea7u ti\u00ean l\u00e0 \u201cStarting my JS blog.\u201d v\u00e0 th\u00f4ng b\u00e1o th\u1ee9 hai l\u00e0: \u201cFinished my blog!\u201d<\/p>\n<h3 class=\"wp-block-heading\" id=\"h-toan-t\u1eed-d\u1ec3-lam-gi\"><strong>To\u00e1n t\u1eed &amp;&amp; \u0111\u1ec3 l\u00e0m g\u00ec?<\/strong><\/h3>\n<p>To\u00e1n t\u1eed trong JavaScript, c\u00f3 k\u00ed hi\u1ec7u l\u00e0 &amp;&amp; s\u1ebd tr\u1ea3 v\u1ec1 gi\u00e1 tr\u1ecb true n\u1ebfu c\u1ea3 hai to\u00e1n h\u1ea1ng l\u00e0 true, ng\u01b0\u1ee3c l\u1ea1i s\u1ebd tr\u1ea3 v\u1ec1 false.\u00a0<\/p>\n<div class=\"wp-block-image is-style-default\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/masterskills.org\/blog\/wp-content\/uploads\/\/12\/nhuCC9BCC83ng-caCC82u-hoCC89i-phoCC89ng-vaCC82CC81n-javascript-1024x681-1.jpg\" alt=\"c\u00e2u h\u1ecfi ph\u1ecfng v\u1ea5n javascript\" class=\"wp-image-23977\" width=\"500\" title=\"nhuCC9BCC83ng-caCC82u-hoCC89i-phoCC89ng-vaCC82CC81n-javascript-1024x681-1\"><figcaption class=\"wp-element-caption\">C\u00e1c c\u00e2u h\u1ecfi ph\u1ecfng v\u1ea5n Javascript v\u00e0 c\u00e1ch tr\u1ea3 l\u1eddi b\u1ea1n n\u00ean h\u1ecdc.<\/figcaption><\/figure>\n<\/div>\n<h3 class=\"wp-block-heading\" id=\"h-primitive-la-gi-neu-cac-primitive-value-trong-javascript\"><strong>Primitive l\u00e0 g\u00ec? N\u00eau c\u00e1c primitive value trong JavaScript<\/strong><\/h3>\n<p>Trong JavaScript c\u00f3 hai ki\u1ec3u d\u1eef li\u1ec7u: Ki\u1ec3u nguy\u00ean th\u1ee7y (primitive) v\u00e0 object.<\/p>\n<p>Ki\u1ec3u nguy\u00ean thu\u1ef7 l\u00e0 b\u1ea5t bi\u1ebfn, m\u1ed9t ki\u1ec3u nguy\u00ean thu\u1ef7 kh\u00f4ng ph\u1ea3i l\u00e0 object v\u00ec v\u1eady ch\u00fang kh\u00f4ng c\u00f3 c\u00e1c method (ph\u01b0\u01a1ng th\u1ee9c) ri\u00eang c\u1ee7a m\u00ecnh.\u00a0<\/p>\n<p>C\u00f3 s\u00e1u lo\u1ea1i nguy\u00ean th\u1ee7y trong JS:<\/p>\n<ul>\n<li>Boolean \u2014 true or false<\/li>\n<li>Undefined \u2014 m\u1ed9t bi\u1ebfn \u0111\u01b0\u1ee3c khai b\u00e1o nh\u01b0ng ch\u01b0a \u0111\u01b0\u1ee3c cung c\u1ea5p gi\u00e1 tr\u1ecb<\/li>\n<li>Null \u2014 no value<\/li>\n<li>Symbol \u2014 m\u1ed9t gi\u00e1 tr\u1ecb duy nh\u1ea5t kh\u00f4ng b\u1eb1ng b\u1ea5t k\u1ef3 gi\u00e1 tr\u1ecb n\u00e0o kh\u00e1c (\u0111\u01b0\u1ee3c gi\u1edbi thi\u1ec7u trong ES6)<\/li>\n<li>Number \u2014 integers, floats..<\/li>\n<li>String \u2014 t\u1ea5t c\u1ea3 nh\u1eefng g\u00ec b\u00ean trong d\u1ea5u \u201c \u201d<\/li>\n<\/ul>\n<h3 class=\"wp-block-heading\" id=\"h-toan-t\u1eed-dung-d\u1ec3-lam-gi-trong-javascript\"><strong>To\u00e1n t\u1eed || d\u00f9ng \u0111\u1ec3 l\u00e0m g\u00ec trong JavaScript<\/strong><\/h3>\n<p>To\u00e1n t\u1eed || tr\u1ea3 v\u1ec1 true n\u1ebfu 1 trong 2 s\u1ed1 h\u1ea1ng l\u00e0 true : a || b.<\/p>\n<h3 class=\"wp-block-heading\" id=\"h-neu-s\u1ef1-khac-bi\u1ec7t-gi\u1eefa-undefined-va-null\"><strong>N\u00eau s\u1ef1 kh\u00e1c bi\u1ec7t gi\u1eefa undefined v\u00e0 null<\/strong><\/h3>\n<p>Undefined ngh\u0129a l\u00e0 kh\u00f4ng x\u00e1c \u0111\u1ecbnh. Gi\u00e1 tr\u1ecb c\u1ee7a bi\u1ebfn l\u00e0 underfined trong javascript khi b\u1ea1n khai b\u00e1o m\u1ed9t bi\u1ebfn nh\u01b0ng ch\u01b0a g\u00e1n gi\u00e1 tr\u1ecb cho n\u00f3.<\/p>\n<p>Null ngh\u0129a l\u00e0 gi\u00e1 tr\u1ecb r\u1ed7ng ho\u1eb7c gi\u00e1 tr\u1ecb kh\u00f4ng t\u1ed3n t\u1ea1i, m\u1ed9t bi\u1ebfn null l\u00e0 khi ch\u00fang kh\u00f4ng c\u00f3 gi\u00e1 tr\u1ecb.<\/p>\n<p>S\u1ef1 kh\u00e1c bi\u1ec7t gi\u1eefa null v\u00e0 undefined: undefind c\u00f3 ki\u1ec3u gi\u00e1 tr\u1ecb l\u00e0 undefined nh\u01b0ng null l\u1ea1i l\u00e0 1 object.<\/p>\n<h3 class=\"wp-block-heading\" id=\"h-hay-cho-bi\u1ebft-falsy-value-va-truthy-value-la-gi-co-cac-falsy-value-nao-trong-javascript\"><strong>H\u00e3y cho bi\u1ebft Falsy value v\u00e0 Truthy value l\u00e0 g\u00ec? C\u00f3 c\u00e1c falsy value n\u00e0o trong JavaScript?<\/strong><\/h3>\n<p>Falsy values l\u00e0 gi\u00e1 tr\u1ecb trong Javascript m\u00e0 khi ta \u00e9p ki\u1ec3u v\u1ec1 Boolean s\u1ebd cho ra gi\u00e1 tr\u1ecb false.\u00a0<\/p>\n<p>T\u01b0\u01a1ng t\u1ef1, truthy values l\u00e0 nh\u1eefng gi\u00e1 tr\u1ecb m\u00e0 khi ta \u00e9p ki\u1ec3u v\u1ec1 Boolean s\u1ebd cho ra gi\u00e1 tr\u1ecb true.<\/p>\n<p>C\u00f3 7 falsy values trong JavaScript:<\/p>\n<ul>\n<li>number 0<\/li>\n<li>keyword undefined<\/li>\n<li>BigInt 0n<\/li>\n<li>number NaN<\/li>\n<li>keyword null<\/li>\n<li>boolean false<\/li>\n<li>empty string \u201c\u201d (t\u01b0\u01a1ng \u1ee9ng v\u1edbi \u201c hay \u2018\u2019)<\/li>\n<\/ul>\n<h3 class=\"wp-block-heading\" id=\"h-iifes-immediately-invoked-function-expressions-la-gi\"><strong>IIFEs (Immediately Invoked Function Expressions) l\u00e0 g\u00ec?<\/strong><\/h3>\n<p>M\u1ed9t IIFEs \u2013 vi\u1ebft t\u1eaft c\u1ee7a Immediately Invoked Function Express \u2013 \u0111\u01b0\u1ee3c th\u1ef1c thi ngay sau khi n\u00f3 \u0111\u01b0\u1ee3c t\u1ea1o.<\/p>\n<h3 class=\"wp-block-heading\" id=\"h-lam-cach-nao-d\u1ec3-b\u1ea1n-ki\u1ec3m-tra-m\u1ed9t-s\u1ed1-co-ph\u1ea3i-la-s\u1ed1-nguyen-hay-khong\"><strong>L\u00e0m c\u00e1ch n\u00e0o \u0111\u1ec3 b\u1ea1n ki\u1ec3m tra m\u1ed9t s\u1ed1 c\u00f3 ph\u1ea3i l\u00e0 s\u1ed1 nguy\u00ean hay kh\u00f4ng?<\/strong><\/h3>\n<p>\u0110\u1ec3 ki\u1ec3m tra m\u1ed9t s\u1ed1 c\u00f3 ph\u1ea3i s\u1ed1 nguy\u00ean hay kh\u00f4ng, c\u00e1ch nhanh ch\u00f3ng l\u00e0 s\u1eed d\u1ee5ng h\u00e0m issInteger. Tuy nhi\u00ean c\u00e1ch n\u00e0y s\u1ebd kh\u00f4ng cho b\u1ea1n bi\u1ebft s\u1ed1 \u0111\u00f3 l\u00e0 s\u1ed1 \u00e2m hay s\u1ed1 d\u01b0\u01a1ng.\u00a0<\/p>\n<p>C\u00e1ch l\u00e0m kh\u00e1c l\u00e0 l\u1ea5y s\u1ed1 \u0111o chia s\u1ed1 cho 1 v\u00e0 xem c\u00f3 ph\u1ea7n d\u01b0 hay kh\u00f4ng.\u00a0<\/p>\n<h3 class=\"wp-block-heading\" id=\"h-phan-bi\u1ec7t-gi\u1eefa-anonymous-va-named-functions\"><strong>Ph\u00e2n bi\u1ec7t gi\u1eefa anonymous v\u00e0 named functions?<\/strong><\/h3>\n<p>Anonymous function \u2013 hay c\u00f2n \u0111\u01b0\u1ee3c bi\u1ebft \u0111\u1ebfn l\u00e0 h\u00e0m \u1ea9n danh \u2013 l\u00e0 h\u00e0m kh\u00f4ng c\u00f3 t\u00ean v\u00e0 \u0111\u01b0\u1ee3c t\u1ea1o ra trong th\u1eddi gian \u1ee9ng d\u1ee5ng \u0111ang ch\u1ea1y.\u00a0<\/p>\n<p>Named function \u2013 hay c\u00f2n g\u1ecdi l\u00e0 h\u00e0m \u0111\u01b0\u1ee3c \u0111\u1eb7t t\u00ean \u2013 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 g\u1ee1 l\u1ed7i v\u00e0 t\u00ecm ki\u1ebfm nh\u1eefng h\u00e0m g\u00e2y ra l\u1ed7i.<\/p>\n<h3 class=\"wp-block-heading\" id=\"h-ba-giai-do\u1ea1n-c\u1ee7a-s\u1ef1-lan-truy\u1ec1n-s\u1ef1-ki\u1ec7n-event-propagation-la-gi\"><strong>Ba giai \u0111o\u1ea1n c\u1ee7a s\u1ef1 lan truy\u1ec1n s\u1ef1 ki\u1ec7n (event propagation) l\u00e0 g\u00ec?<\/strong><\/h3>\n<p>Ba giai \u0111o\u1ea1n c\u1ee7a s\u1ef1 lan truy\u1ec1n s\u1ef1 ki\u1ec7n l\u00e0 propagation, capturing sau \u0111\u00f3 l\u00e0 bubbling.\u00a0<\/p>\n<p>\u0110\u1ea7u ti\u00ean, propagation (lan truy\u1ec1n) x\u1ea3y ra v\u1edbi vi\u1ec7c capturing tr\u01b0\u1edbc. Trong giai \u0111o\u1ea1n capturing, c\u00e1c s\u1ef1 ki\u1ec7n s\u1ebd truy\u1ec1n t\u1eeb Window qua\u00a0DOM tree cho \u0111\u1ebfn khi n\u00f3 \u0111\u1ebfn \u0111\u00edch. Sau \u0111\u00f3, ph\u1ea7n t\u1eed m\u1ee5c ti\u00eau \u0111\u01b0\u1ee3c truy c\u1eadp v\u00e0 (trong \u0111o\u1ea1n code n\u00e0y c\u00f3 th\u1ec3 l\u00e0 event.target), giai \u0111o\u1ea1n bubbling x\u1ea3y ra.<\/p>\n<div class=\"wp-block-image is-style-default\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/masterskills.org\/blog\/wp-content\/uploads\/\/12\/phoCC89ng-vaCC82CC81n-javascript-1024x682-1.jpg\" alt=\"c\u00e2u h\u1ecfi ph\u1ecfng v\u1ea5n javascript th\u01b0\u1eddng g\u1eb7p\" class=\"wp-image-23978\" width=\"500\" title=\"phoCC89ng-vaCC82CC81n-javascript-1024x682-1\"><figcaption class=\"wp-element-caption\">C\u00f3 r\u1ea5t nhi\u1ec1u ki\u1ebfn th\u1ee9c v\u1ec1 Javascript c\u1ea7n tham kh\u1ea3o tr\u01b0\u1edbc ph\u1ecfng v\u1ea5n.<\/figcaption><\/figure>\n<\/div>\n<h3 class=\"wp-block-heading\" id=\"h-k\u1ebft-qu\u1ea3-c\u1ee7a-do\u1ea1n-code-sau-la-gi\"><strong>K\u1ebft qu\u1ea3 c\u1ee7a \u0111o\u1ea1n code sau l\u00e0 g\u00ec?<\/strong><\/h3>\n<p>K\u1ebft qu\u1ea3 c\u1ee7a \u0111o\u1ea1n code sau tr\u1ea3 v\u1ec1 false.\u00a0<\/p>\n<h3 class=\"wp-block-heading\" id=\"h-t\u1eeb-khoa-this-ho\u1ea1t-d\u1ed9ng-nh\u01b0-th\u1ebf-nao-b\u1ea1n-hay-cho-m\u1ed9t-vi-d\u1ee5\"><strong>T\u1eeb kh\u00f3a \u201cthis\u201d ho\u1ea1t \u0111\u1ed9ng nh\u01b0 th\u1ebf n\u00e0o? B\u1ea1n h\u00e3y cho m\u1ed9t v\u00ed d\u1ee5<\/strong><\/h3>\n<p>T\u1eeb kh\u00f3a this \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 \u0111\u1ea1i di\u1ec7n cho m\u1ed9t \u0111\u1ed1i t\u01b0\u1ee3ng. C\u1ee5 th\u1ec3, \u0111\u1ed1i t\u01b0\u1ee3ng \u1edf \u0111\u00e2y l\u00e0 \u0111\u1ed1i t\u01b0\u1ee3ng \u0111ang th\u1ef1c thi cose JS hi\u1ec7n t\u1ea1i.\u00a0<\/p>\n<p>V\u00ed d\u1ee5:\u00a0<\/p>\n<p><em>function state() {<\/em><\/p>\n<p><em>\u00a0\u00a0console.log(this.name);<\/em><\/p>\n<p><em>}<\/em><\/p>\n<p><em>var name = \u201cNY\u201d;<\/em><\/p>\n<p><em>var obj1 = { name: \u201cIN\u201d, state: state };<\/em><\/p>\n<p><em>var obj2 = { name: \u201cCA\u201d, state: state };<\/em><\/p>\n<p><em>state(); \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ \u201cNY\u201d<\/em><\/p>\n<p><em>obj1.state();\u00a0 \u00a0 \u00a0 \/\/ \u201cIN\u201d<\/em><\/p>\n<p><em>obj2.state();\u00a0 \u00a0 \u00a0 \/\/ \u201cCA\u201d<\/em><\/p>\n<h3 class=\"wp-block-heading\" id=\"h-t\u1ea1i-sao-math-max-nh\u1ecf-h\u01a1n-math-min\"><strong>T\u1ea1i sao Math.max() nh\u1ecf h\u01a1n Math.min()?<\/strong><\/h3>\n<p>Math.min () tr\u1ea3 v\u1ec1 infinity v\u00e0 Math.max () tr\u1ea3 v\u1ec1 -infinity n\u1ebfu kh\u00f4ng c\u00f3 \u0111\u1ed1i s\u1ed1 n\u00e0o \u0111\u01b0\u1ee3c \u0111\u01b0a ra. \u0110\u00e2y l\u00e0 m\u1ed9t ph\u1ea7n c\u1ee7a \u0111\u1eb7c t\u1ea3 cho c\u00e1c ph\u01b0\u01a1ng th\u1ee9c min () v\u00e0 max (), v\u00e0 n\u00f3 c\u00f3 logic \u0111\u1eb1ng sau.\u00a0<\/p>\n<p>V\u00ed d\u1ee5:\u00a0<\/p>\n<p><em>Math.min(1)\u00a0<\/em><\/p>\n<p><em>\/\/ 1<\/em><\/p>\n<p><em>Math.min(1, infinity)<\/em><\/p>\n<p><em>\/\/ 1<\/em><\/p>\n<p><em>Math.min(1, -infinity)<\/em><\/p>\n<p><em>\/\/ -infinity<\/em><\/p>\n<p>N\u1ebfu -infinity l\u00e0 \u0111\u1ed1i s\u1ed1 m\u1eb7c \u0111\u1ecbnh c\u1ee7a Math.min (), th\u00ec m\u1ecdi k\u1ebft qu\u1ea3 s\u1ebd l\u00e0 -infinity, \u0111i\u1ec1u n\u00e0y l\u00e0 v\u00f4 d\u1ee5ng. Trong khi \u0111\u00f3, n\u1ebfu \u0111\u1ed1i s\u1ed1 m\u1eb7c \u0111\u1ecbnh l\u00e0 infinity, th\u00ec vi\u1ec7c th\u00eam b\u1ea5t k\u1ef3 \u0111\u1ed1i s\u1ed1 n\u00e0o kh\u00e1c, k\u1ebft qu\u1ea3 s\u1ebd tr\u1ea3 v\u1ec1 s\u1ed1 \u0111\u00f3. \u0110\u00f3 ch\u00ednh l\u00e0 h\u00e0nh vi m\u00e0 ch\u00fang ta mu\u1ed1n.<\/p>\n<h3 class=\"wp-block-heading\" id=\"h-t\u1ea1i-sao-018-tr\u1eeb-017-l\u1ea1i-b\u1eb1ng-3\"><strong>T\u1ea1i sao 018 Tr\u1eeb 017 l\u1ea1i b\u1eb1ng 3?\u00a0<\/strong><\/h3>\n<p>K\u1ebft qu\u1ea3 c\u1ee7a vi\u1ec7c chuy\u1ec3n \u0111\u1ed5i ki\u1ec3u cho ra k\u1ebft qu\u1ea3 018 \u2013 017 tr\u1ea3 v\u1ec1 3. \u0110\u00e2y l\u00e0 m\u1ed9t tr\u01b0\u1eddng h\u1ee3p c\u1ee7a s\u1ed1 b\u00e1t ph\u00e2n (octal numbers).\u00a0<\/p>\n<p>Trong Javascript, ti\u1ec1n t\u1ed1 0 s\u1ebd chuy\u1ec3n \u0111\u1ed5i b\u1ea5t k\u1ef3 s\u1ed1 n\u00e0o \u0111\u1ee9ng sau th\u00e0nh s\u1ed1 b\u00e1t ph\u00e2n. Tuy nhi\u00ean, s\u1ed1 8 kh\u00f4ng \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng trong h\u1ec7 b\u00e1t ph\u00e2n n\u00ean v\u1edbi c\u00e1c s\u1ed1 c\u00f3 ch\u01b0a s\u1ed1 8, ch\u00fang s\u1ebd tr\u1edf v\u1ec1 s\u1ed1 th\u1eadp ph\u00e2n th\u00f4ng th\u01b0\u1eddng.\u00a0<\/p>\n<p>Do \u0111\u00f3 018 \u2013 17 t\u01b0\u01a1ng \u0111\u01b0\u01a1ng v\u1edbi 18 (s\u1ed1 th\u01b0\u1eddng) \u2013 15 (b\u00e1t ph\u00e2n c\u1ee7a 017) v\u00e0 tr\u1ea3 v\u1ec1 k\u1ebft qu\u1ea3 l\u00e0 3.\u00a0<\/p>\n<h3 class=\"wp-block-heading\" id=\"h-ajax-la-gi-nh\u1eefng-\u01b0u-di\u1ec3m-va-nh\u01b0\u1ee3c-di\u1ec3m-c\u1ee7a-no-la-gi\"><strong>AJAX l\u00e0 g\u00ec? Nh\u1eefng \u01b0u \u0111i\u1ec3m v\u00e0 nh\u01b0\u1ee3c \u0111i\u1ec3m c\u1ee7a n\u00f3 l\u00e0 g\u00ec?<\/strong><\/h3>\n<p>AJAX \u2013 Asynchronous JavaScript And XML. AJAX ho\u1ea1t \u0111\u1ed9ng nh\u01b0 sau: m\u1ed9t y\u00eau c\u1ea7u XHR \u0111\u01b0\u1ee3c t\u1ea1o b\u1edfi Javascript s\u1ebd \u0111\u01b0\u1ee3c g\u1eedi \u0111\u1ebfn m\u00e1y ch\u1ee7 m\u1ed7i khi m\u1ed9t s\u1ef1 ki\u1ec7n x\u1ea3y ra tr\u00ean trang web. M\u00e1y ch\u1ee7 s\u1ebd x\u1eed x\u1eed l\u00fd y\u00eau c\u1ea7u v\u00e0 tr\u1ea3 v\u1ec1 ph\u1ea3n h\u1ed3i cho trang web v\u00e0 c\u00e1c h\u00e0nh \u0111\u1ed9ng c\u1ea7n thi\u1ebfu \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n.\u00a0<\/p>\n<p>\u01afu \u0111i\u1ec3m c\u1ee7a AJAX<\/p>\n<ul>\n<li>C\u1eadp nh\u1eadt m\u1ed9t trang web m\u00e0 kh\u00f4ng th\u1ef1c s\u1ef1 c\u1ea7n ph\u1ea3i t\u1ea3i l\u1ea1i n\u00f3<\/li>\n<li>Y\u00eau c\u1ea7u sau \u0111\u00f3 nh\u1eadn d\u1eef li\u1ec7u t\u1eeb m\u00e1y ch\u1ee7 sau khi trang \u0111\u00e3 t\u1ea3i xong<\/li>\n<li>G\u1eedi d\u1eef li\u1ec7u cho m\u00e1y ch\u1ee7 \u1edf background<\/li>\n<\/ul>\n<p>Nh\u01b0\u1ee3c \u0111i\u1ec3m c\u1ee7a AJAX:<\/p>\n<ul>\n<li>AJAX s\u1ebd kh\u00f4ng th\u1ec3 ho\u1ea1t \u0111\u1ed9ng trong tr\u01b0\u1eddng h\u1ee3p JavaScript disabled<\/li>\n<li>AJAX c\u00f3 th\u1ec3 l\u00e0m cho trang web c\u1ee7a b\u1ea1n d\u1ec5 b\u1ecb t\u1ea5n c\u00f4ng b\u1edfi c\u00e1c m\u1ed1i \u0111e d\u1ecda b\u1ea3o m\u1eadt v\u00ec AJAX l\u00e0m t\u0103ng k\u00edch th\u01b0\u1edbc m\u00e3<\/li>\n<li>Khi\u1ebfn button quay l\u1ea1i c\u1ee7a tr\u00ecnh duy\u1ec7t tr\u1edf n\u00ean v\u00f4 d\u1ee5ng<\/li>\n<\/ul>\n<h3 class=\"wp-block-heading\" id=\"h-function-expression-khac-th\u1ebf-nao-v\u1edbi-function-declaration\"><strong>Function Expression kh\u00e1c th\u1ebf n\u00e0o v\u1edbi Function Declaration?<\/strong><\/h3>\n<p>M\u1ed9t Function declaration, hay c\u00f2n bi\u1ebft \u0111\u1ebfn l\u00e0 khai b\u00e1o h\u00e0m, th\u01b0\u1eddng s\u1eed d\u1ee5ng t\u1eeb kh\u00f3a function, t\u00ean c\u1ee7a h\u00e0m s\u1ebd theo sau.\u00a0<\/p>\n<p>Ng\u01b0\u1ee3c l\u1ea1i, m\u1ed9t Function Expression, hay c\u00f2n g\u1ecdi l\u00e0 bi\u1ec3u th\u1ee9c h\u00e0m, b\u1eaft \u0111\u1ea7u b\u1eb1ng var, const ho\u1eb7c let, theo sau l\u00e0 t\u00ean c\u1ee7a h\u00e0m v\u00e0 to\u00e1n t\u1eed g\u00e1n =.\u00a0<\/p>\n<h3 class=\"wp-block-heading\" id=\"h-hoisting-la-gi\"><strong>Hoisting l\u00e0 g\u00ec?<\/strong><\/h3>\n<p>Hoisting l\u00e0 vi\u1ec7c JavaScript di chuy\u1ec3n khai b\u00e1o l\u00ean \u0111\u1ea7u m\u1ecdi scope (ph\u1ea1m vi). \u0110\u00e2y l\u00e0 m\u1ed9t kh\u00eda c\u1ea1nh kh\u00f4ng x\u00e1c \u0111\u1ecbnh c\u1ee7a JavaScript, v\u1eady n\u00ean \u0111\u1ec3 tr\u00e1nh t\u1ea1o ra l\u1ed7i, b\u1ea1n n\u00ean khai b\u00e1o t\u1ea5t c\u1ea3 c\u00e1c bi\u1ebfn \u1edf \u0111\u1ea7u m\u1ecdi scope.\u00a0<\/p>\n<p>Hoisting ch\u1ec9 \u0111\u01a1n gi\u1ea3n l\u00e0 vi\u1ec7c b\u1ea1n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng m\u1ed9t bi\u1ebfn tr\u01b0\u1edbc khi n\u00f3 \u0111\u01b0\u1ee3c khai b\u00e1o.<\/p>\n<h3 class=\"wp-block-heading\" id=\"h-b\u1ea1n-hay-phan-tich-bi\u1ebft-s\u1ef1-khac-nhau-gi\u1eefa-bind-call-va-apply\"><strong>B\u1ea1n h\u00e3y ph\u00e2n t\u00edch bi\u1ebft s\u1ef1 kh\u00e1c nhau gi\u1eefa bind, call v\u00e0 apply?<\/strong><\/h3>\n<ul>\n<li>.bind () \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 g\u1ecdi m\u1ed9t h\u00e0m \u1edf ng\u1eef c\u1ea3nh nh\u1ea5t \u0111\u1ecbnh. C\u1ea7n ch\u00fa \u00fd r\u1eb1ng khi s\u1eed d\u1ee5ng .bind () s\u1ebd kh\u00f4ng g\u1ecdi h\u00e0m, ch\u1ec9 s\u1eeda \u0111\u1ed5i ng\u1eef c\u1ea3nh.<\/li>\n<li>.call () v\u00e0 .apply () ng\u01b0\u1ee3c l\u1ea1i s\u1ebd g\u1ecdi h\u00e0m ngay l\u1eadp t\u1ee9c, \u0111\u1ed3ng th\u1eddi s\u1eeda \u0111\u1ed5i ng\u1eef c\u1ea3nh.\u00a0<\/li>\n<\/ul>\n<p>S\u1ef1 kh\u00e1c bi\u1ec7t gi\u1eefa call() v\u00e0 apply():<\/p>\n<ul>\n<li>.call () ch\u1ea5p nh\u1eadn m\u1ed9t danh s\u00e1ch gi\u00e1 tr\u1ecb tr\u1edf th\u00e0nh \u0111\u1ed1i s\u1ed1 c\u1ee7a n\u00f3<\/li>\n<li>.apply () ch\u1ec9 ch\u1ea5p nh\u1eadn m\u1ed9t m\u1ea3ng l\u00e0m \u0111\u1ed1i s\u1ed1 c\u1ee7a n\u00f3<\/li>\n<\/ul>\n<p>C\u00e1ch s\u1eed d\u1ee5ng: Ta s\u1eed d\u1ee5ng .bind () khi mu\u1ed1n s\u1eeda \u0111\u1ed5i ng\u1eef c\u1ea3nh tuy nhi\u00ean b\u1ea1n l\u1ea1i mu\u1ed1n g\u1ecdi h\u00e0m sau n\u00e0y. S\u1eed d\u1ee5ng .call () ho\u1eb7c .apply () khi b\u1ea1n mu\u1ed1n s\u1eeda \u0111\u1ed5i ng\u1eef c\u1ea3nh v\u00e0 g\u1ecdi h\u00e0m ngay l\u1eadp t\u1ee9c.<\/p>\n<h3 class=\"wp-block-heading\" id=\"h-di\u1ec1u-gi-s\u1ebd-x\u1ea3y-ra-n\u1ebfu-b\u1ea1n-xac-d\u1ecbnh-m\u1ed9t-bi\u1ebfn-ma-khong-co-t\u1eeb-khoa\"><strong>\u0110i\u1ec1u g\u00ec s\u1ebd x\u1ea3y ra n\u1ebfu b\u1ea1n x\u00e1c \u0111\u1ecbnh m\u1ed9t bi\u1ebfn m\u00e0 kh\u00f4ng c\u00f3 t\u1eeb kh\u00f3a?<\/strong><\/h3>\n<p>V\u1ec1 m\u1eb7t k\u1ef9 thu\u1eadt, n\u1ebfu x\u00e1c \u0111\u1ecbnh m\u1ed9t bi\u1ebfn m\u00e0 kh\u00f4ng c\u00f3 t\u1eeb kho\u00e1 s\u1ebd g\u00e2y r\u00f2 r\u1ec9 b\u1ed9 nh\u1edb.<\/p>\n<div class=\"wp-block-image is-style-default\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"334\" src=\"https:\/\/masterskills.org\/blog\/wp-content\/uploads\/\/12\/Lam-viec-nhom-la-ky-nang-khong-the-thieu-cua-lap-trinh-vien.jpg\" alt=\"ph\u1ecfng v\u1ea5n javascript\" class=\"wp-image-20269\" title=\"Lam-viec-nhom-la-ky-nang-khong-the-thieu-cua-lap-trinh-vien\"><figcaption class=\"wp-element-caption\">Ph\u1ecfng v\u1ea5n Javascript kh\u00f4ng c\u00f2n kh\u00f3 n\u1ebfu b\u1ea1n h\u1ecdc b\u1ed9 c\u00e2u h\u1ecfi n\u00e0y.<\/figcaption><\/figure>\n<\/div>\n<h3 class=\"wp-block-heading\" id=\"h-promise-co-th\u1ec3-co-\u1edf-tr\u1ea1ng-thai-nao\"><strong>Promise c\u00f3 th\u1ec3 c\u00f3 \u1edf tr\u1ea1ng th\u00e1i n\u00e0o?<\/strong><\/h3>\n<p>Promise c\u00f3 th\u1ec3 \u1edf m\u1ed9t trong ba tr\u1ea1ng th\u00e1i sau:<\/p>\n<ul>\n<li>Pending (\u0111ang ch\u1edd x\u1eed l\u00fd): tr\u1ea1ng th\u00e1i ban \u0111\u1ea7u c\u1ee7a promise<\/li>\n<li>Fulfilled (ho\u00e0n th\u00e0nh): \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt khi promise \u0111\u00e3 \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n th\u00e0nh c\u00f4ng.<\/li>\n<li>Rejected (b\u1ecb t\u1eeb ch\u1ed1i): khi promise \u0111\u00e3 b\u1ecb t\u1eeb ch\u1ed1i, c\u00f3 l\u1ed7i.<\/li>\n<\/ul>\n<h3 class=\"wp-block-heading\" id=\"h-neu-\u01b0u-di\u1ec3m-va-nh\u01b0\u1ee3c-di\u1ec3m-c\u1ee7a-vi\u1ec7c-s\u1eed-d\u1ee5ng-promises\"><strong>N\u00eau \u01b0u \u0111i\u1ec3m v\u00e0 nh\u01b0\u1ee3c \u0111i\u1ec3m c\u1ee7a vi\u1ec7c s\u1eed d\u1ee5ng Promises<\/strong><\/h3>\n<p>\u01afu \u0111i\u1ec3m c\u1ee7a vi\u1ec7c s\u1eed d\u1ee5ng Promises:<\/p>\n<ul>\n<li>Kh\u00f4ng gi\u1ed1ng c\u00e1c l\u1ec7nh g\u1ecdi l\u1ea1i, Promises c\u00f3 th\u1ec3 k\u1ebft h\u1ee3p, v\u00ec v\u1eady c\u00f3 th\u1ec3 tr\u00e1nh \u0111\u01b0\u1ee3c nh\u1eefng \u0111\u1ecba ch\u1ec9 g\u1ecdi l\u1ea1i<\/li>\n<li>Khi nhi\u1ec1u ph\u1ea3n h\u1ed3i g\u1eedi v\u1ec1, b\u1ea1n c\u00f3 th\u1ec3 d\u1ec5 d\u00e0ng th\u1ef1c thi m\u00e3 v\u1edbi Promises.all<\/li>\n<li>V\u1edbi s\u1ef1 tr\u1ee3 gi\u00fap c\u1ee7a Promise.race, b\u1ea1n c\u00f3 th\u1ec3 \u0111\u1ee3i k\u1ebft qu\u1ea3 t\u1eeb Promises \u0111\u00f2ng th\u1eddi \u0111ang ch\u1edd x\u1eed l\u00fd<\/li>\n<li>\u0110\u1ed3ng b\u1ed9 c\u00e1c m\u00e3 vi\u1ebft kh\u00f4ng \u0111\u1ed3ng b\u1ed9 n\u1ebfu k\u1ebft h\u1ee3p Promises vpwos async\/await.\u00a0<\/li>\n<\/ul>\n<p>Nh\u01b0\u1ee3c \u0111i\u1ec3m:a<\/p>\n<ul>\n<li>Ch\u1ec9 c\u00f3 th\u1ec3 ho\u1ea1t \u0111\u1ed9ng tr\u00ean m\u1ed9t gi\u00e1 tr\u1ecb duy nh\u1ea5t\/th\u1eddi \u0111i\u1ec3m<\/li>\n<li>Kh\u00f4ng c\u00f3 s\u1eb5n \u1edf nh\u1eefng tr\u00ecnh duy\u1ec7t c\u0169<\/li>\n<li>Ch\u1eadm h\u01a1n so v\u1edbi vi\u1ec7c d\u00f9ng c\u00e2u l\u1ec7nh g\u1ecdi l\u1ea1i, g\u00e2y \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn hi\u1ec7u su\u1ea5t\u00a0<\/li>\n<\/ul>\n<h2 class=\"wp-block-heading\" id=\"h-l\u1eddi-k\u1ebft\"><strong>L\u1eddi k\u1ebft\u00a0<\/strong><\/h2>\n<p>Tr\u00ean \u0111\u00e2y b\u1ea1n \u0111\u00e3 c\u00f9ng Masterskills t\u00ecm hi\u1ec3u v\u1ec1 20+ <strong>c\u00e2u h\u1ecfi ph\u1ecfng v\u1ea5n Javascript<\/strong> ph\u1ed5 bi\u1ebfn nh\u1ea5t hi\u1ec7n nay. Ch\u00fac b\u1ea1n s\u1ebd tr\u00e0n \u0111\u1ea7y t\u1ef1 tin trong bu\u1ed5i ph\u1ecfng v\u1ea5n s\u1eafp t\u1edbi c\u1ee7a m\u00ecnh v\u00e0 th\u00e0nh c\u00f4ng nh\u1eadn \u0111\u01b0\u1ee3c c\u00f4ng vi\u1ec7c m\u01a1 \u01b0\u1edbc nh\u00e9.\u00a0<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>B\u1ea1n c\u00f3 ph\u1ea3i l\u00e0 m\u1ed9t l\u1eadp tr\u00ecnh vi\u00ean Javascript v\u00e0 chu\u1ea9n b\u1ecb c\u00f3 m\u1ed9t bu\u1ed5i ph\u1ecfng v\u1ea5n v\u1edbi nh\u00e0 tuy\u1ec3n d\u1ee5ng \u0111\u1ec3 c\u00f3 \u0111\u01b0\u1ee3c m\u1ed9t c\u00f4ng vi\u1ec7c m\u01a1 \u01b0\u1edbc. V\u1eady th\u00ec \u0111\u1eebng b\u1ecf qua b\u00e0i vi\u1ebft d\u01b0\u1edbi \u0111\u00e2y c\u1ee7a Masterskills v\u00ec ch\u00fang m\u00ecnh s\u1ebd mang \u0111\u1ebfn cho b\u1ea1n b\u1ed9 c\u00e2u h\u1ecfi ph\u1ecfng v\u1ea5n Javascript h\u1eefu [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[181],"tags":[],"_links":{"self":[{"href":"https:\/\/masterskills.org\/blog\/wp-json\/wp\/v2\/posts\/50491"}],"collection":[{"href":"https:\/\/masterskills.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/masterskills.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/masterskills.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/masterskills.org\/blog\/wp-json\/wp\/v2\/comments?post=50491"}],"version-history":[{"count":0,"href":"https:\/\/masterskills.org\/blog\/wp-json\/wp\/v2\/posts\/50491\/revisions"}],"wp:attachment":[{"href":"https:\/\/masterskills.org\/blog\/wp-json\/wp\/v2\/media?parent=50491"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/masterskills.org\/blog\/wp-json\/wp\/v2\/categories?post=50491"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/masterskills.org\/blog\/wp-json\/wp\/v2\/tags?post=50491"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}