<\/span><\/h2>\n\n\n\nT\u1ea5t c\u1ea3 c\u00e1c bi\u1ebfn s\u1eed d\u1ee5ng trong h\u00e0m n\u00ean \u0111\u01b0\u1ee3c khai b\u00e1o nh\u01b0 c\u00e1c bi\u1ebfn \u0111\u1ecba ph\u01b0\u01a1ng.<\/p>\n\n\n\n
C\u00e1c bi\u1ebfn \u0111\u1ecba ph\u01b0\u01a1ng ph\u1ea3i<\/strong> \u0111\u01b0\u1ee3c khai b\u00e1o v\u1edbi t\u1eeb kho\u00e1 var<\/strong>, n\u1ebfu kh\u00f4ng ch\u00fang s\u1ebd tr\u1edf th\u00e0nh bi\u1ebfn to\u00e0n c\u1ee5c.<\/p>\n\n\n\n\u1ede ch\u1ebf \u0111\u1ed9 nghi\u00eam ng\u1eb7t kh\u00f4ng cho ph\u00e9p kh\u00f4ng khai b\u00e1o bi\u1ebfn.<\/p>\n\n\n\n
\n\n\n\n<\/span>C\u00e1c khai b\u00e1o \u1edf tr\u00ean c\u00f9ng<\/span><\/h2>\n\n\n\nM\u1ed9t th\u1ef1c h\u00e0nh t\u1ed1t khi code l\u00e0 \u0111\u01b0a t\u1ea5t c\u1ea3 c\u00e1c khai b\u00e1o l\u00ean \u0111\u1ec9nh c\u1ee7a m\u00e3 script ho\u1eb7c h\u00e0m.<\/p>\n\n\n\n
\u0110i\u1ec1u n\u00e0y s\u1ebd:<\/p>\n\n\n\n
- Cung c\u1ea5p m\u00e3 s\u1ea1ch s\u1ebd g\u1ecdn g\u00e0ng h\u01a1n;<\/li>
- Cung c\u1ea5p m\u1ed9t v\u1ecb tr\u00ed cho vi\u1ec7c xem l\u1ea1i c\u00e1c bi\u1ebfn \u0111\u1ecba ph\u01b0\u01a1ng;<\/li>
- Gi\u00fap tr\u00e1nh c\u00e1c bi\u1ebfn to\u00e0n c\u1ee5c kh\u00f4ng mong mu\u1ed1n;<\/li>
- Gi\u1ea3m kh\u1ea3 n\u0103ng kh\u00f4ng mong mu\u1ed1n l\u00e0 khai b\u00e1o l\u1ea1i;<\/li><\/ul>\n\n\n\n
\/\/ Khai b\u00e1o bi\u1ebfn t\u1ea1i v\u1ecb tr\u00ed \u0111\u1ea7u ti\u00ean\nvar firstName, lastName, price, discount, fullPrice;<\/code><\/pre>\n\n\n\n\/\/ s\u1eed d\u1ee5ng sau \u0111\u00f3\nfirstName = \"Duc Anh\";\nlastName = \"Nguyen\";\n\nprice = 19.90;\ndiscount = 0.10;\n\nfullPrice = price * 100 \/ discount;<\/code><\/pre>\n\n\n\n\u0110i\u1ec1u n\u00e0y c\u0169ng \u0111\u00fang cho bi\u1ebfn trong v\u00f2ng l\u1eb7p:<\/p>\n\n\n\n
\/\/ Khai b\u00e1o t\u1ea1i v\u1ecb tr\u00ed b\u1eaft \u0111\u1ea7u\nvar i;\n\n\/\/ S\u1eed d\u1ee5ng sau \u0111\u00f3\nfor (i = 0; i < 5; i++) {<\/code><\/pre>\n\n\n\nTheo m\u1eb7c \u0111\u1ecbnh, JavaScript chuy\u1ec3n t\u1ea5t c\u1ea3 c\u00e1c khai b\u00e1o l\u00ean \u0111\u1ea7u (JavaScript hoisting).<\/p>\n\n\n\n
\n\n\n\n<\/span>Kh\u1edfi t\u1ea1o c\u00e1c bi\u1ebfn<\/span><\/h2>\n\n\n\nL\u00e0 th\u1ef1c h\u00e0nh code t\u1ed1t \u0111\u1ec3 kh\u1edfi t\u1ea1o c\u00e1c bi\u1ebfn khi b\u1ea1n khai b\u00e1o ch\u00fang.<\/p>\n\n\n\n
\u0110i\u1ec1u n\u00e0y s\u1ebd:<\/p>\n\n\n\n
- T\u1ea1o ra code g\u1ecdn g\u00e0ng s\u1ea1ch s\u1ebd;<\/li>
- Cung c\u1ea5p m\u1ed9t v\u1ecb tr\u00ed duy nh\u1ea5t \u0111\u1ec3 kh\u1edfi t\u1ea1o c\u00e1c bi\u1ebfn;<\/li>
- Tr\u00e1nh c\u00e1c gi\u00e1 tr\u1ecb kh\u00f4ng x\u00e1c \u0111\u1ecbnh;<\/li><\/ul>\n\n\n\n
\/\/ Khai b\u00e1o v\u00e0 kh\u1edfi t\u1ea1o t\u1ea1i v\u1ecb tr\u00ed b\u1eaft \u0111\u1ea7u\nvar firstName = \"\",\nlastName = \"\",\nprice = 0,\ndiscount = 0,\nfullPrice = 0,\nmyArray = [],\nmyObject = {};<\/code><\/pre>\n\n\n\nKh\u1edfi t\u1ea1o c\u00e1c bi\u1ebfn cung c\u1ea5p m\u1ed9t \u00fd t\u01b0\u1edfng v\u1ec1 m\u1ee5c \u0111\u00edch s\u1eed d\u1ee5ng (v\u00e0 ki\u1ec3u d\u1eef li\u1ec7u d\u1ef1 \u0111\u1ecbnh).<\/p>\n\n\n\n
\n\n\n\n<\/span>Kh\u00f4ng bao gi\u1edd khai b\u00e1o S\u1ed1, Chu\u1ed7i ho\u1eb7c Boolean l\u00e0 \u0110\u1ed1i t\u01b0\u1ee3ng<\/span><\/h2>\n\n\n\nLu\u00f4n x\u1eed l\u00fd c\u00e1c s\u1ed1, chu\u1ed7i v\u00e0 booleans nh\u01b0 c\u00e1c gi\u00e1 tr\u1ecb nguy\u00ean thu\u1ef7. Kh\u00f4ng ph\u1ea3i nh\u01b0 c\u00e1c \u0110\u1ed1i t\u01b0\u1ee3ng.<\/p>\n\n\n\n
Khai b\u00e1o c\u00e1c \u0111\u1ecbnh d\u1ea1ng n\u00e0y nh\u01b0 \u0111\u1ed1i t\u01b0\u1ee3ng s\u1ebd l\u00e0m gi\u1ea3m t\u1ed1c \u0111\u1ed9 th\u1ef1c thi v\u00e0 t\u1ea1o ra c\u00e1c t\u00e1c d\u1ee5ng ph\u1ee5 kh\u00f3 ch\u1ecbu.<\/p>\n\n\n\n
V\u00ed d\u1ee5:<\/p>\n\n\n\n
var x = \"\u0110\u1ee9c Anh\";\nvar y = new String(\"\u0110\u1ee9c Anh\");\n(x === y) \/\/ cho k\u1ebft qu\u1ea3 false b\u1edfi v\u00ec x l\u00e0 chu\u1ed7i v\u00e0 y l\u00e0 \u0111\u1ed1i t\u01b0\u1ee3ng.<\/code><\/pre>\n\n\n\nHo\u1eb7c th\u1eadm ch\u00ed t\u1ed3i t\u1ec7 h\u01a1n.<\/p>\n\n\n\n
V\u00ed d\u1ee5:<\/p>\n\n\n\n
var x = new String(\"John\");\nvar y = new String(\"John\");\n(x == y) \/\/ cho k\u1ebft qu\u1ea3 false b\u1edfi v\u00ec b\u1ea1n kh\u00f4ng th\u1ec3 so s\u00e1nh hai \u0111\u1ed1i t\u01b0\u1ee3ng.<\/code><\/pre>\n\n\n\n
\n\n\n\n<\/span>Kh\u00f4ng s\u1eed d\u1ee5ng new Object()<\/span><\/h2>\n\n\n\n- S\u1eed d\u1ee5ng {} thay th\u1ebf new Object()<\/li>
- S\u1eed d\u1ee5ng “” thay th\u1ebf new String()<\/li>
- S\u1eed d\u1ee5ng 0 thay th\u1ebf new Number()<\/li>
- S\u1eed d\u1ee5ng false thay th\u1ebf new Boolean()<\/li>
- S\u1eed d\u1ee5ng [] thay th\u1ebf new Array()<\/li>
- S\u1eed d\u1ee5ng \/()\/ thay th\u1ebf new RegExp()<\/li>
- S\u1eed d\u1ee5ng function (){} thay th\u1ebf new Function()<\/li><\/ul>\n\n\n\n
V\u00ed d\u1ee5:<\/p>\n\n\n\n
var x1 = {}; \/\/ new object\nvar x2 = \"\"; \/\/ new primitive string\nvar x3 = 0; \/\/ new primitive number\nvar x4 = false; \/\/ new primitive boolean\nvar x5 = []; \/\/ new array object\nvar x6 = \/()\/; \/\/ new regexp object\nvar x7 = function(){}; \/\/ new function object<\/code><\/pre>\n\n\n\n
\n\n\n\n<\/span>H\u00e3y coi ch\u1eebng c\u00e1c chuy\u1ec3n \u0111\u1ed5i \u0111\u1ecbnh d\u1ea1ng t\u1ef1 \u0111\u1ed9ng<\/span><\/h2>\n\n\n\nH\u00e3y coi ch\u1eebng c\u00e1c con s\u1ed1 c\u00f3 th\u1ec3 v\u00f4 t\u00ecnh b\u1ecb chuy\u1ec3n \u0111\u1ed5i th\u00e0nh chu\u1ed7i ho\u1eb7c NaN (Not a Number – Kh\u00f4ng ph\u1ea3i l\u00e0 S\u1ed1).<\/p>\n\n\n\n
JavaScript l\u00e0 ng\u00f4n ng\u1eef c\u00f3 \u0111\u1ecbnh d\u1ea1ng l\u1ecfng l\u1ebbo. M\u1ed9t bi\u1ebfn c\u00f3 th\u1ec3 bao g\u1ed3m nhi\u1ec1u \u0111\u1ecbnh d\u1ea1ng kh\u00e1c nhau v\u00e0 m\u1ed9t bi\u1ebfn c\u00f3 th\u1ec3 thay \u0111\u1ed5i ki\u1ec3u d\u1eef li\u1ec7u c\u1ee7a n\u00f3.<\/p>\n\n\n\n
V\u00ed d\u1ee5:<\/p>\n\n\n\n
var x = \"Xin ch\u00e0o\"; \/\/ typeof x l\u00e0 string\nx = 5; \/\/thay \u0111\u1ed5i typeof x sang ki\u1ec3u number<\/code><\/pre>\n\n\n\nKhi l\u00e0m vi\u1ec7c v\u1edbi c\u00e1c bi\u1ec3u th\u1ee9c to\u00e1n h\u1ecdc, JavaScript c\u00f3 th\u1ec3 chuy\u1ec3n c\u00e1c con s\u1ed1 sang d\u1ea1ng chu\u1ed7i.<\/p>\n\n\n\n
V\u00ed d\u1ee5:<\/p>\n\n\n\n
var x = 5 + 7; \/\/ x.valueOf() l\u00e0 12, typeof x l\u00e0 number\nvar x = 5 + \"7\"; \/\/ x.valueOf() l\u00e0 57, typeof x l\u00e0 string\nvar x = \"5\" + 7; \/\/ x.valueOf() l\u00e0 57, typeof x l\u00e0 string\nvar x = 5 - 7; \/\/ x.valueOf() l\u00e0 -2, typeof x l\u00e0 number\nvar x = 5 - \"7\"; \/\/ x.valueOf() l\u00e0 -2, typeof x l\u00e0 number\nvar x = \"5\" - 7; \/\/ x.valueOf() l\u00e0 -2, typeof x l\u00e0 number\nvar x = 5 - \"x\"; \/\/ x.valueOf() l\u00e0 NaN, typeof x l\u00e0 number<\/code><\/pre>\n\n\n\nPh\u00e9p tr\u1eeb m\u1ed9t chu\u1ed7i cho m\u1ed9t chu\u1ed7i kh\u00f4ng t\u1ea1o ra l\u1ed7i nh\u01b0ng tr\u1ea3 v\u1ec1 k\u1ebft qu\u1ea3 NaN<\/code> (Not a Number – Kh\u00f4ng ph\u1ea3i l\u00e0 S\u1ed1).<\/p>\n\n\n\nV\u00ed d\u1ee5:<\/p>\n\n\n\n
\"Nguy\u1ec5n\" - \"Tr\u1ea7n\" \/\/ tr\u1ea3 v\u1ec1 k\u1ebft qu\u1ea3 NaN<\/code><\/pre>\n\n\n\n<\/span>S\u1eed d\u1ee5ng so s\u00e1nh ===<\/span><\/h2>\n\n\n\nTo\u00e1n t\u1eed so s\u00e1nh ==<\/code> lu\u00f4n chuy\u1ec3n (sang \u0111\u1ecbnh d\u1ea1ng ph\u00f9 h\u1ee3p) tr\u01b0\u1edbc khi so s\u00e1nh.<\/p>\n\n\n\nTo\u00e1n t\u1eed ===<\/code> so s\u00e1nh m\u1ea1nh h\u01a1n, n\u00f3 so s\u00e1nh c\u1ea3 gi\u00e1 tr\u1ecb v\u00e0 \u0111\u1ecbnh d\u1ea1ng.<\/p>\n\n\n\nV\u00ed d\u1ee5:<\/p>\n\n\n\n
0 == \"\"; \/\/ true\n1 == \"1\"; \/\/ true\n1 == true; \/\/ true\n\n0 === \"\"; \/\/ false\n1 === \"1\"; \/\/ false\n1 === true; \/\/ false<\/code><\/pre>\n\n\n\n
\n\n\n\n<\/span>S\u1eed d\u1ee5ng tham s\u1ed1 m\u1eb7c \u0111\u1ecbnh<\/span><\/h2>\n\n\n\nN\u1ebfu m\u1ed9t h\u00e0m \u0111\u01b0\u1ee3c g\u1ecdi b\u1ecb thi\u1ebfu \u0111\u1ed1i s\u1ed1, gi\u00e1 tr\u1ecb c\u1ee7a \u0111\u1ed1i s\u1ed1 b\u1ecb m\u1ea5t \u0111\u01b0\u1ee3c thi\u1ebft l\u1eadp l\u00e0 undefined.<\/strong><\/p>\n\n\n\nGi\u00e1 tr\u1ecb undefined c\u00f3 th\u1ec3 ph\u00e1 h\u1ecfng code c\u1ee7a b\u1ea1n. S\u1ebd l\u00e0 th\u00f3i quen t\u1ed1t \u0111\u1ec3 g\u00e1n gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh cho \u0111\u1ed1i s\u1ed1.<\/p>\n\n\n\n
V\u00ed d\u1ee5:<\/p>\n\n\n\n
function myFunction(x, y) {\nif (y === undefined) {\ny = 0;\n}\n}<\/code><\/pre>\n\n\n\n\u0110\u1ecdc th\u00eam v\u1ec1 c\u00e1c tham s\u1ed1 v\u00e0 \u0111\u1ed1i s\u1ed1 c\u1ee7a h\u00e0m \u1edf b\u00e0i vi\u1ebft Tham s\u1ed1 c\u1ee7a H\u00e0m.<\/p>\n\n\n\n
\n\n\n\n<\/span>K\u1ebft th\u00fac Switches c\u1ee7a b\u1ea1n v\u1edbi Defaults<\/span><\/h2>\n\n\n\nLu\u00f4n lu\u00f4n k\u1ebft th\u00fac c\u00e2u l\u1ec7nh switch v\u1edbi default. Th\u1eadm ch\u00ed ngay c\u1ea3 khi b\u1ea1n ngh\u0129 n\u00f3 kh\u00f4ng c\u1ea7n thi\u1ebft.<\/p>\n\n\n\n
V\u00ed d\u1ee5:<\/p>\n\n\n\n
switch (new Date().getDay()) {\ncase 0:\nday = \"Ch\u1ee7 Nh\u1eadt\";\nbreak;\ncase 1:\nday = \"Th\u1ee9 Hai\";\nbreak;\ncase 2:\nday = \"Th\u1ee9 Ba\";\nbreak;\ncase 3:\nday = \"Th\u1ee9 T\u01b0\";\nbreak;\ncase 4:\nday = \"Th\u1ee9 N\u0103m\";\nbreak;\ncase 5:\nday = \"Th\u1ee9 S\u00e1u\";\nbreak;\ncase 6:\nday = \"Th\u1ee9 B\u1ea3y\";\nbreak;\ndefault:\nday = \"Kh\u00f4ng R\u00f5\";\n}<\/code><\/pre>\n\n\n\n
\n\n\n\n<\/span>Tr\u00e1nh s\u1eed d\u1ee5ng eval()<\/span><\/h2>\n\n\n\nH\u00e0m eval()<\/code> \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 ch\u1ea1y v\u0103n b\u1ea3n nh\u01b0 code. Trong h\u1ea7u h\u1ebft c\u00e1c tr\u01b0\u1eddng h\u1ee3p, n\u00f3 kh\u00f4ng c\u1ea7n thi\u1ebft s\u1eed d\u1ee5ng.<\/p>\n\n\n\nB\u1edfi v\u00ec n\u00f3 cho ph\u00e9p code tu\u1ef3 ti\u1ec7n c\u00f3 th\u1ec3 ch\u1ea1y, n\u00f3 c\u0169ng l\u00e0m xu\u1ea5t hi\u1ec7n m\u1ed9t r\u1eafc r\u1ed1i v\u1ec1 an ninh.<\/p>\n","protected":false},"excerpt":{"rendered":"
Tr\u00e1nh bi\u1ebfn to\u00e0n c\u1ee5c,\u00a0tr\u00e1nh new,\u00a0tr\u00e1nh\u00a0==,\u00a0tr\u00e1nh eval(). Tr\u00e1nh Bi\u1ebfn To\u00e0n C\u1ee5c T\u1ed1i thi\u1ec3u ho\u00e1 s\u1eed d\u1ee5ng c\u00e1c bi\u1ebfn to\u00e0n c\u1ee5c. \u0110i\u1ec1u n\u00e0y bao g\u1ed3m t\u1ea5t c\u1ea3 c\u00e1c d\u1ea1ng d\u1eef li\u1ec7u, \u0111\u1ed1i t\u01b0\u1ee3ng v\u00e0 h\u00e0m. C\u00e1c bi\u1ebfn to\u00e0n c\u1ee5c v\u00e0 h\u00e0m c\u00f3 th\u1ec3 b\u1ecb ghi \u0111\u00e8 b\u1eddi c\u00e1c script kh\u00e1c. S\u1eed d\u1ee5ng bi\u1ebfn \u0111\u1ecba ph\u01b0\u01a1ng \u0111\u1ec3 thay …<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[236],"tags":[],"yoast_head":"\n
C\u00e1c th\u1ef1c h\u00e0nh t\u1ed1t nh\u1ea5t c\u1ee7a JavaScript l\u1eadp tr\u00ecnh vi\u00ean n\u00ean bi\u1ebft • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"C\u00e1c th\u1ef1c h\u00e0nh t\u1ed1t nh\u1ea5t c\u1ee7a JavaScript l\u1eadp tr\u00ecnh vi\u00ean n\u00ean bi\u1ebft • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/cac-thuc-hanh-tot-nhat-cua-javascript\/","og_locale":"vi_VN","og_type":"article","og_title":"C\u00e1c th\u1ef1c h\u00e0nh t\u1ed1t nh\u1ea5t c\u1ee7a JavaScript l\u1eadp tr\u00ecnh vi\u00ean n\u00ean bi\u1ebft • Ki\u1ebfn c\u00e0ng","og_description":"Tr\u00e1nh bi\u1ebfn to\u00e0n c\u1ee5c,\u00a0tr\u00e1nh new,\u00a0tr\u00e1nh\u00a0==,\u00a0tr\u00e1nh eval(). Tr\u00e1nh Bi\u1ebfn To\u00e0n C\u1ee5c T\u1ed1i thi\u1ec3u ho\u00e1 s\u1eed d\u1ee5ng c\u00e1c bi\u1ebfn to\u00e0n c\u1ee5c. \u0110i\u1ec1u n\u00e0y bao g\u1ed3m t\u1ea5t c\u1ea3 c\u00e1c d\u1ea1ng d\u1eef li\u1ec7u, \u0111\u1ed1i t\u01b0\u1ee3ng v\u00e0 h\u00e0m. C\u00e1c bi\u1ebfn to\u00e0n c\u1ee5c v\u00e0 h\u00e0m c\u00f3 th\u1ec3 b\u1ecb ghi \u0111\u00e8 b\u1eddi c\u00e1c script kh\u00e1c. S\u1eed d\u1ee5ng bi\u1ebfn \u0111\u1ecba ph\u01b0\u01a1ng \u0111\u1ec3 thay …","og_url":"https:\/\/kiencang.net\/cac-thuc-hanh-tot-nhat-cua-javascript\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2016-07-15T16:00:51+00:00","author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"5 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/cac-thuc-hanh-tot-nhat-cua-javascript\/","url":"https:\/\/kiencang.net\/cac-thuc-hanh-tot-nhat-cua-javascript\/","name":"C\u00e1c th\u1ef1c h\u00e0nh t\u1ed1t nh\u1ea5t c\u1ee7a JavaScript l\u1eadp tr\u00ecnh vi\u00ean n\u00ean bi\u1ebft • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2016-07-15T16:00:51+00:00","dateModified":"2016-07-15T16:00:51+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/cac-thuc-hanh-tot-nhat-cua-javascript\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/cac-thuc-hanh-tot-nhat-cua-javascript\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/cac-thuc-hanh-tot-nhat-cua-javascript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"C\u00e1c th\u1ef1c h\u00e0nh t\u1ed1t nh\u1ea5t c\u1ee7a JavaScript l\u1eadp tr\u00ecnh vi\u00ean n\u00ean bi\u1ebft"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/3301"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=3301"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/3301\/revisions"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=3301"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=3301"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=3301"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}