怎么在JavaScript中应用

  介绍

本篇文章给大家分享的是有关怎么在JavaScript中应用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

JavaScript这门语言中,最令人迷惑的地方有三个,闭包,这原型。针对大多数人,可以利用词法作用域等避开这个的坑,但是我们不能一直生活在舒适区,要敢于打破砂锅问到底,对我们来说也是一种提升。

一,一般对这关键字的误解:

1,这指向函数自身

2,这指向函数词法作用域

我们可以看以下一段代码:

function 测试(),{   时间=test.a  1;   this.a =, 2;   console.log(试验原理);   console.log (this.a);   console.log (test.a ===, this.a);   }      测试();   console.dir(测试);

在上面这段代码中,我们在全局声明一个方法测试,测试中给的一个属性赋值1,当前方法中的这中的一个属性赋值2,加入这指向函数自身,那么测试。===这个,并且都等于2。

下面我们来看下这段代码的运行结果:

怎么在JavaScript中应用这种“> </p> <p> <img src= function 测试(),{=,test.a  1;=,this.a  2;   ,console.log(试验原理);   ,console.log (this.a);   ,console.log (test.a ===, this.a);   ,}   ,   ,test.call(测试);   console.dir(测试);

运行结果如下:

怎么在JavaScript中应用这种“> </p> <p> <img src= function 父(),{   ,var  a =, 2;   ,   ,function 孩子(),{   ,console.log (this.a)   ,}   ,孩子();   ,   ,}   父();

假如这指向函数的词法作用域,那么孩子方法中的这个。一个应该是存在,实际上的执行结果如下:

怎么在JavaScript中应用这种“> </p> <p>实际上,在JavaScript内部,作用域确实和对象类似,可见的标识符都是它的属性。但是作用域”对象“无法通过JavaScript代码访问,它存在JavaScript引擎内部,所以每当你想要把这和词法作用域的查找混合使用时,一定要提醒自己,这是无法实现的。</p> <p>二,这的绑定规则</p> <p>这的绑定规则大致分为以下几类:</p> <p> 2.1默认绑定</p> <p> 2.2隐式绑定</p> <p> 2.3显式绑定</p> <p> 2.4新绑定</p> <p> 2.1默认绑定</p> <p>上述示例中这个的指向是指向窗口的,他们都有一个共同的特征,不带任何修饰的函数引用进行调用的,因此只能使用默认绑定,无法应用其他规则</p> <p> 2.2隐式绑定</p> <p>隐式绑定首先需要考虑的规则就是调用位置是否有上下文对象,或者说是否被某个对象拥有或包含,例如:</p> <p> <img src=怎么在JavaScript中应用