NodeJS与浏览器中this关键字差异何在?

更新于
2026-10-02 03:30:09
1阅读来源:SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计670个文字,预计阅读时间需要3分钟。

NodeJS与浏览器中this关键字差异何在?

前言+学习过JavaScript的人可能都会遇到这样的困惑:处在不同的环境下,this的指向问题。那么看看下面的代码:

NodeJS与浏览器中this关键字差异何在?

var type=1;function toWhere() { this.type=2; toWhere(); console.log(type);}

你们可能都会这样想:这里声明了一个全局变量type。

前言

学习过JavaScript的人肯定清楚 处在不同环境下this的指向问题。那么看下面的代码

var type = 1 function toWhere(){ this.type = 2; } toWhere(); console.log(type)

你们肯定会这样想:

这里声明了一个全局变量type,当执行type=1的时候,赋值为1。之后toWhere函数调用,看到函数中有this 就去判断this的指向,这里很清楚,this指向了window,this.type=2执行后,全局变量type就赋值为2了。

最后打印全局变量type 结果很明显是2。

打开浏览器验证一下,没问题 一个2明晃晃的在那里。

那么就这样结束了吗?

如果你学过node,现在用nodejs重新执行一下以上代码,你就发现了不一样的地方。

阅读全文
标签:不同之

本文共计670个文字,预计阅读时间需要3分钟。

NodeJS与浏览器中this关键字差异何在?

前言+学习过JavaScript的人可能都会遇到这样的困惑:处在不同的环境下,this的指向问题。那么看看下面的代码:

NodeJS与浏览器中this关键字差异何在?

var type=1;function toWhere() { this.type=2; toWhere(); console.log(type);}

你们可能都会这样想:这里声明了一个全局变量type。

前言

学习过JavaScript的人肯定清楚 处在不同环境下this的指向问题。那么看下面的代码

var type = 1 function toWhere(){ this.type = 2; } toWhere(); console.log(type)

你们肯定会这样想:

这里声明了一个全局变量type,当执行type=1的时候,赋值为1。之后toWhere函数调用,看到函数中有this 就去判断this的指向,这里很清楚,this指向了window,this.type=2执行后,全局变量type就赋值为2了。

最后打印全局变量type 结果很明显是2。

打开浏览器验证一下,没问题 一个2明晃晃的在那里。

那么就这样结束了吗?

如果你学过node,现在用nodejs重新执行一下以上代码,你就发现了不一样的地方。

阅读全文
标签:不同之