{"id":3358,"date":"2016-07-22T03:54:09","date_gmt":"2016-07-22T03:54:09","guid":{"rendered":"https:\/\/kiencang.net\/?p=3358"},"modified":"2016-07-22T03:54:09","modified_gmt":"2016-07-22T03:54:09","slug":"javascript-hoisting","status":"publish","type":"post","link":"https:\/\/kiencang.net\/javascript-hoisting\/","title":{"rendered":"JavaScript Hoisting"},"content":{"rendered":"\n
K\u00e9o l\u00ean (hoisting) l\u00e0 h\u00e0nh vi m\u1eb7c \u0111\u1ecbnh c\u1ee7a JavaScript ch\u1ec9 \u0111\u1ebfn vi\u1ec7c c\u00e1c khai b\u00e1o \u0111\u01b0\u1ee3c k\u00e9o l\u00ean \u0111\u1ea7u.<\/p>\n\n\n\n
Trong JavaScript, m\u1ed9t bi\u1ebfn c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c khai b\u00e1o sau khi \u0111\u01b0\u1ee3c d\u00f9ng.<\/p>\n\n\n\n
N\u00f3i c\u00e1ch kh\u00e1c, m\u1ed9t bi\u1ebfn c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng tr\u01b0\u1edbc khi n\u00f3 \u0111\u01b0\u1ee3c khai b\u00e1o.<\/p>\n\n\n\n
V\u00ed d\u1ee5 1<\/strong> cho k\u1ebft qu\u1ea3 t\u01b0\u01a1ng t\u1ef1 V\u00ed d\u1ee5 2<\/strong>:<\/p>\n\n\n\n \u0110\u1ec3 hi\u1ec3u \u0111i\u1ec1u n\u00e0y, b\u1ea1n c\u1ea7n ph\u1ea3i hi\u1ec3u thu\u1eadt ng\u1eef “hoisting”.<\/p>\n\n\n\n Hoisting l\u00e0 h\u00e0nh vi m\u1eb7c \u0111\u1ecbnh c\u1ee7a JavaScript \u0111\u1ec3 chuy\u1ec3n t\u1ea5t c\u1ea3 c\u00e1c khai b\u00e1o l\u00ean tr\u00ean \u0111\u1ea7u \u0111o\u1ea1n code hi\u1ec7n t\u1ea1i (l\u00ean \u0111\u1ea7u \u0111o\u1ea1n m\u00e3 hi\u1ec7n t\u1ea1i ho\u1eb7c h\u00e0m hi\u1ec7n t\u1ea1i).<\/p>\n\n\n\n JavaScript ch\u1ec9 k\u00e9o c\u00e1c khai b\u00e1o, kh\u00f4ng k\u00e9o c\u00e1c gi\u00e1 tr\u1ecb kh\u1edfi t\u1ea1o.<\/p>\n\n\n\n V\u00ed d\u1ee5 1<\/strong> kh\u00f4ng c\u00f3 c\u00f9ng k\u1ebft qu\u1ea3 v\u1edbi V\u00ed d\u1ee5 2<\/strong>:<\/p>\n\n\n\n T\u1ea1i sao y l\u1ea1i l\u00e0 undefined trong v\u00ed d\u1ee5 cu\u1ed1i c\u00f9ng?<\/p>\n\n\n\n \u0110i\u1ec1u n\u00e0y l\u00e0 b\u1edfi v\u00ec ch\u1ec9 c\u00f3 khai b\u00e1o (var y), nh\u01b0ng kh\u1edfi t\u1ea1o (=7) kh\u00f4ng \u0111\u01b0\u1ee3c k\u00e9o l\u00ean.<\/p>\n\n\n\n B\u1edfi v\u00ec hoisting, y \u0111\u01b0\u1ee3c khai b\u00e1o tr\u01b0\u1edbc khi s\u1eed d\u1ee5ng, nh\u01b0ng v\u00ec kh\u1edfi t\u1ea1o kh\u00f4ng \u0111\u01b0\u1ee3c k\u00e9o l\u00ean (hoisting), gi\u00e1 tr\u1ecb c\u1ee7a y l\u00e0 undefined (kh\u00f4ng x\u00e1c \u0111\u1ecbnh).<\/p>\n\n\n\n V\u00ed d\u1ee5 2 c\u00f3 c\u00f9ng c\u00e1ch vi\u1ebft:<\/p>\n\n\n\n K\u00e9o l\u00ean (v\u1edbi nhi\u1ec1u l\u1eadp tr\u00ecnh vi\u00ean) l\u00e0 kh\u00f4ng \u0111\u01b0\u1ee3c bi\u1ebft \u0111\u1ebfn ho\u1eb7c h\u00e0nh vi b\u1ecb b\u1ecf qua c\u1ee7a JavaSript.<\/p>\n\n\n\n N\u1ebfu l\u1eadp tr\u00ecnh vi\u00ean kh\u00f4ng hi\u1ec3u hoisting, c\u00e1c ch\u01b0\u01a1ng tr\u00ecnh c\u00f3 th\u1ec3 ch\u1ee9a c\u00e1c l\u1ed7i.<\/p>\n\n\n\n \u0110\u1ec3 tr\u00e1nh l\u1ed7i, lu\u00f4n lu\u00f4n khai b\u00e1o t\u1ea5t c\u1ea3 c\u00e1c bi\u1ebfn t\u1ea1i v\u1ecb tr\u00ed \u0111\u1ea7u ti\u00ean t\u1ea1i m\u1ed7i ph\u1ea1m vi t\u01b0\u01a1ng \u1ee9ng.<\/p>\n\n\n\n \u0110\u00f3 l\u00e0 c\u00e1ch JavaScript th\u00f4ng d\u1ecbch, n\u00f3 lu\u00f4n l\u00e0 m\u1ed9t lu\u1eadt t\u1ed1t c\u1ea7n tu\u00e2n theo.<\/p>\n\n\n\n JavaScript trong phi\u00ean b\u1ea3n nghi\u00eam ng\u1eb7t (strict) kh\u00f4ng cho ph\u00e9p c\u00e1c bi\u1ebfn \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng n\u1ebfu n\u00f3 kh\u00f4ng \u0111\u01b0\u1ee3c khai b\u00e1o.<\/p>\n\n\n\n Ch\u00fang ta s\u1ebd h\u1ecdc v\u1ec1 c\u00e1ch d\u00f9ng strict trong b\u00e0i k\u1ebf ti\u1ebfp.<\/p>\n","protected":false},"excerpt":{"rendered":" K\u00e9o l\u00ean (hoisting) l\u00e0 h\u00e0nh vi m\u1eb7c \u0111\u1ecbnh c\u1ee7a JavaScript ch\u1ec9 \u0111\u1ebfn vi\u1ec7c c\u00e1c khai b\u00e1o \u0111\u01b0\u1ee3c k\u00e9o l\u00ean \u0111\u1ea7u. Khai b\u00e1o trong JavaScript \u0111\u01b0\u1ee3c k\u00e9o l\u00ean Trong JavaScript, m\u1ed9t bi\u1ebfn c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c khai b\u00e1o sau khi \u0111\u01b0\u1ee3c d\u00f9ng. N\u00f3i c\u00e1ch kh\u00e1c, m\u1ed9t bi\u1ebfn c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng tr\u01b0\u1edbc khi n\u00f3 \u0111\u01b0\u1ee3c khai b\u00e1o. …<\/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":"\nV\u00ed d\u1ee5 1<\/h3>\n\n\n\n
x = 5; \/\/ G\u00e1n 5 cho x\n\nelem = document.getElementById(\"demo\"); \/\/ T\u00ecm m\u1ed9t ph\u1ea7n t\u1eed\nelem.innerHTML = x; \/\/ Hi\u1ec3n th\u1ecb x trong ph\u1ea7n t\u1eed\n\nvar x; \/\/ khai b\u00e1o x<\/code><\/pre>\n\n\n\n
V\u00ed d\u1ee5 2<\/h3>\n\n\n\n
var x; \/\/ Khai b\u00e1o x\nx = 5; \/\/ G\u00e1n 5 cho xelem = document.getElementById(\"demo\"); \/\/ T\u00ecm m\u1ed9t ph\u1ea7n t\u1eed\nelem.innerHTML = x; \/\/ Hi\u1ec3n th\u1ecb x b\u00ean trong ph\u1ea7n t\u1eed<\/code><\/pre>\n\n\n\n
\n\n\n\nKh\u1edfi t\u1ea1o JavaScript kh\u00f4ng \u0111\u01b0\u1ee3c k\u00e9o l\u00ean<\/h2>\n\n\n\n
V\u00ed d\u1ee5 1<\/h3>\n\n\n\n
var x = 5; \/\/ Kh\u1edfi t\u1ea1o x\nvar y = 7; \/\/ Kh\u1edfi t\u1ea1o y\nelem = document.getElementById(\"demo\"); \/\/ T\u00ecm m\u1ed9t ph\u1ea7n t\u1eed\nelem.innerHTML = x + \" \" + y; \/\/ Hi\u1ec3n th\u1ecb x v\u00e0 y<\/code><\/pre>\n\n\n\n
V\u00ed d\u1ee5 2<\/h3>\n\n\n\n
var x = 5; \/\/ Kh\u1edfi t\u1ea1o x\n\nelem = document.getElementById(\"demo\"); \/\/ T\u00ecm m\u1ed9t ph\u1ea7n t\u1eed\nelem.innerHTML = x + \" \" + y; \/\/ Hi\u1ec3n th\u1ecb x v\u00e0 y\n\nvar y = 7; \/\/ Kh\u1edfi t\u1ea1o y<\/code><\/pre>\n\n\n\n
var x = 5; \/\/ Kh\u1edfi t\u1ea1o x\nvar y; \/\/ Khai b\u00e1o y\nelem = document.getElementById(\"demo\"); \/\/ T\u00ecm m\u1ed9t ph\u1ea7n t\u1eed\nelem.innerHTML = x + \" \" + y; \/\/ Hi\u1ec3n th\u1ecb x v\u00e0 y\ny = 7; \/\/ G\u00e1n 7 cho y<\/code><\/pre>\n\n\n\n
\n\n\n\nKhai b\u00e1o c\u00e1c bi\u1ebfn c\u1ee7a b\u1ea1n l\u00ean tr\u00ean c\u00f9ng!<\/h2>\n\n\n\n