25.JavaScript执行上下文
程序员文章站
2022-06-27 20:23:32
JavaScript执行上下文 1.this指向 1).直接调用函数,this指向全局对象 2).在函数外,this指向全局对象 3).通过对象调用或new一个函数,this指向调用的对象或新对象 2.使用new关键字生成一个对象的过程: 1).确定所有形参值以及特殊变量arguments 2).确 ......
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>
结果展示: