return后面的代码不会被执行,return只能返回一个值,并且是最后一个值
没有return则是undefined
return可以退出循环还可以退出函数
在函数外面声明的变量属于全局变量,还有在函数里没有声明直接赋值的也属于全局变量
全局变量只有浏览器关闭的时候才会销毁,比较占内存资源
局部变量 但我们程序执行完毕就会销毁
arguments(是函数里面特有的自带的)可以存储传过来全部实参,是一种伪数组
伪数组具有length属性,还有索引的方式存储
作用域链,在同名变量中使用最近的变量
重点:我们js引擎运行js分为两步: 预解析 代码执行
预解析 js引擎将js中的所有var和function 提升到当前作用域的最前面
预解析分为 变量预解析 和 函数预解析
变量预解析:将所有的变量声明提升,赋值不提升
函数预解析是提升函数声明那种类型
案例:
fn();
console.log(b);
console.log(c);
console.log(a);
function fn() {
var a = b = c = 9;
//var a =9; b=9;c=9;
console.log(b);
console.log(c);
console.log(a);
}
//相当于
function fn() {
var a;
a = 9;
b = 9;
c = 9;
console.log(b);
console.log(c);
console.log(a);
}
fn();
console.log(b);
console.log(c);
console.log(a);
JavaScript基础知识与运行机制解析
本文介绍了JavaScript的基础概念,包括return的作用、变量的作用域、预解析机制以及全局和局部变量的生命周期。讲解了return不仅可以结束函数,还能退出循环,并探讨了预解析中变量和函数声明的提升。同时,提到了arguments对象在函数中存储实参的重要性,以及作用域链如何决定同名变量的使用。最后,通过示例阐述了JavaScript引擎的执行过程,强调了预解析在代码执行前的准备工作。

被折叠的 条评论
为什么被折叠?



