html调用js函数的运行结果_js中函数的调用

9a234c8d298be9e76da091236f1d9864.png

在js中我们通常会定义一个函数,用她来实现一些功能。如下代码,我们在函数中输出传入的参数x。代码如下

function test(x){ console.log(this); console.log(x);}test('a');

函数的this指向window对象

上面是对函数的调用。

如果我们对上面的代码稍加改造。

function test(x){ console.log(this); console.log(x);}let testA = new test('a');console.log(testA);

这个函数和上面的函数是一样的,但是我们调用的方法是通过一个new操作符来实现创建了一个test类的实例,虽然我们创建的对象没什么意义。但是我们看到testA是存在的,而函数内的this指向变成了testA。

这个是构造函数的调用

我们对代码再改造一下。如下:

function test(x){ console.log(this); console.log(x);}let ob = { fn:test}ob.fn('a');

再这个函数中我们把函数test赋值给对象ob,我们调用ob.fn方法发现函数的this指向又变成了ob对象。

这是函数作为一个对象的方法调用。

通过不同的调用形式,相同的函数this指向也不同。似乎有种橘生淮南则为橘 生于淮北则为枳

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值