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)