JS是按照代码块来进行编译和执行的,代码块间相互独立,但变量和方法共享,按顺序执行. 如: <script type='text/javascript'> var m = 0,n = 1,i = 2,j; alert(q);//没有输出,因为q是下一个script的全局变量,script块按顺序执行,将两个script块交换位置可能会出错 function num(){ i = 3; var p = 4;//p在方法内为局部变量 alert('ok'); } </script> &
你知道JavaScript中的每条语句.甚至表达式都有一个结果值吗? 当你在浏览器中测试代码时,经常会在控制台的输出结果的最后面多出一条,大部分为undefined,这个undefined就是一个结果值. ES7的do表达式 先从ES7的一个提案说起吧:do表达式do{...}(注意:不是do{...}while();中的do) var a,b,c = 3; a = do { if (true) { b = c*3; } }; a; //9 目前的浏览器暂不支持 表达式do{...}的作用就是返