Javascript中的四个用法

Javascript中的四个用法


当函数被执行时,它总是指向调用函数的对象。

在Javascript语言精华的书中,这一场景分为四类,它们都是简单的:

对象指向调用对象。

没有对象被调用到全局对象。

使用新结构指向一个新对象

通过应用、调用或绑定改变这个手指。

1)当函数属于对象:指向对象时

当一个函数属于一个对象时,函数通常被一个表达式调用,当它自然指向它所属的对象时:
VaR MyObject = { 100 }值;
myobject.getvalue =函数(){
console.log(这个值); / /输出100

输出 / / {价值:100 },{ } GetValue函数,
事实上,对象本身是MyObject / /
console.log(本);

返回this.value;
};

Console.log ((myObject.getValue)); / / = > 100

GetValue()属于对象MyObject,并通过myojbect。电话,所以这个指向对象MyObject。

2)函数不属于对象:指向全局对象。
VaR MyObject = { 100 }值;
myobject.getvalue =函数(){
函数(){()
console.log(这个值) / / = >定义
console.log(本); / /全球输出全局对象
};

(富);

返回this.value;
};

Console.log((MyObject。GetValue)); / / = > 100

在上面的代码块,foo函数在GetValue函数定义的,但事实上它不属于任何GetValue或MyObject。富不受任何对象,所以在调用时,这个指针指向全局对象的全球。

据说这是一个设计错误。

3)构造函数中的这一点:指向一个新对象

在js中,我们通过新关键字调用构造函数,其中绑定到新对象。
Var SomeClass =函数(){()
this.value = 100;
}

无功mycreate =新SomeClass();

console.log(mycreate。值); / /输出100

顺便说一下,在JS中,构造函数,普通函数,对象方法,闭包,四者之间没有明确的界限,边界在人们的心中。

4)应用和调用调用和绑定绑定:指向绑定的对象

应用()方法接受两个参数,第一个参数是函数的函数范围,另一个是参数数组(参数)。

调用()方法的第一个参数与应用()方法相同,但是其他参数需要一一列举。

简言之,调用方法更接近我们通常的调用函数,应用程序要求我们将数组形式传递给它,它们可以相互转换。
VaR MyObject = { 100 }值;

函数(){()
console.log(本);
};

富(全局);全局变量
foo.apply(MyObject); / / { 100 }值:
foo.call(MyObject); / / { 100 }值:

无功newfoo = foo.bind(MyObject);
newfoo(价值); / / { 100 }
这是本文的全部内容,希望大家能喜欢。

tag:电脑软件Javascript

相关内容