原文:js中当call或者apply传入的第一个参数是null/undefined时,js函数内执行的上下文环境是什么?

在js中我们都知道call apply,还有比较少用的bind 传入的第一个参数都是改变函数当前上下文对象 call apply区别在于传的参数不同,一个是已逗号分隔字符串,一个以数组形式。而bind和call几乎没差别只是将值返回。 可是当我们将null undefined作为值传进去的时候呢 居然得到的是window,当前js运行环境的全局对象。 这其实在es 中就有解释的:传入null un ...

2019-12-20 14:27 0 1313 推荐指数:

查看详情

什么是JS执行上下文?

我们都知道,JS代码的执行顺序总是与代码先后顺序有所差异,当先抛开异步问题你会发现就算是同步代码,它的执行也与你的预期不一致,比如: 按照代码书写顺序,应该先输出 听风是风,再输出 echo才对,很遗憾,两次输出均为 echo;如果我们将上述代码函数声明改为函数表达式,结果又不 ...

Thu Apr 02 06:42:00 CST 2020 0 812
js深入(二)函数执行上下文

这一篇简单的说一说js函数执行js执行上下文的概念,之前在我的博客里边也提到过 js的堆栈队列, 这一篇打算单独的拿出来说一说 是什么js执行上下文 一段可以执行的代码在被执行的时候,会创建一个函数执行上下文 执行上下文里边有三个重要的属性分别是 变量 ...

Wed Jul 03 21:27:00 CST 2019 0 846
JS 执行上下文

先看个小例子 为什么打印出来的是 undefined 呢? 执行上下文概念   当代码运行时,会产生一个对应的执行环境,在这个环境,所有变量会被事先提出来(变量提升),有的直接赋值,有的为默认值 undefined,代码从上往下开始执行,就叫做执行上下文 ...

Thu Mar 21 23:47:00 CST 2019 0 3685
js函数apply()、call()、bind()方法

ECMAScript函数是对象,因此函数也有属性和方法。每个函数都包含两个属性:length和prototype,且每个函数包含两个非继承而来的方法apply()和call()。这两个方法的用途都是在特定的作用域中调用函数,实际上等于设置函数体内thiis对象的值。 apply ...

Sat Apr 01 21:28:00 CST 2017 1 1482
JS执行上下文(执行环境)详细图解

JS执行上下文(执行环境)详细图解 先随便放张图 我们在JS学习初期或者面试的时候常常会遇到考核变量提升的思考题。比如先来一个简单一点的。 console.log(a); // 这里会打印出什么? var a = 20; 暂时先不管这个例子,我们先引入一个 ...

Mon Dec 04 18:46:00 CST 2017 1 933
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM