作用域,函数的四种调用模式

ES5作用域:限制变量访问到的区域。在js中有函数作用域和全局作用域。函数作用域在函数声明定义的时候(函数写好的时候)就已经定下来了。

ES6块级作用域:就是由花括号形成的作用域{}。不能重复定义。

作用域链:先在当前函数作用域中查看是否有声明该变量,如果有就返回该变量的值。如果没有,就去外层函数作用域查找。如果有就返回变量的值。没有就沿着函数作用域链往外找,直到全局作用域,有就返回变量值。如果没有就报错。

函数的四种调用模式:任何函数都有自己的this指向,this指向是灵活的,this只有当函数调用的时候才能确定下来。1,函数调用模式,this指向window。2,构造函数调用模式,this指向实例对象。3,方法调用模式,this指向方法。4,上下文调用模式,用来修改this指向。call(还可以调用函数。作用:第一个参数修改this指向,后面参数是实参),apply,bind。语法:被借用的方法名,属性.call(借用对象)。

猜你喜欢

转载自www.cnblogs.com/xiaoxiao95/p/12969355.html