25.JavaScript执行上下文
JavaScript执行上下文
1.this指向
1).直接调用函数,this指向全局对象
2).在函数外,this指向全局对象
3).通过对象调用或new一个函数,this指向调用的对象或新对象
2.使用new关键字生成一个对象的过程:
1).确定所有形参值以及特殊变量arguments
2).确定函数中通过var声明的变量,将它们的值设置为undefined。若1)步骤中形参中已有重名的变量名称,则直接忽略2)步骤,重名变量的值还是1)步骤中的值
3).确定函数中通过字面量声明的函数,将它们的值设置为指向函数对象。若1)步骤中形参已有重名的变量名称,则3)步骤中的函数字面量声明将会覆盖掉1)步骤中的重名变量的值
例题:


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
function A(a, b) {
console.log(a, b);//a的值是形参a的值,b的值是下面函数b字面量的值
var b = 123;
function b() {}
var a = function () {}
console.log(a, b);//a的值是上面变量a的值,b的值是上面变量b的值
}
A(1, 2);
</script>
</body>
</html>
index.html
结果展示:

赞 (0)
