JavaScript ECMAScript 全局函数

🌙
手机阅读
本文目录结构

全局函数的用法

全局函数可以直接使用,执行结束后会将结果直接返回给调用者。

9 个全局函数

下面是最新的 ECMAScript2021 规范内规定的 9 个全局函数

  • eval()
  • isFinite()
  • isNaN()
  • parseFloat()
  • parseInt()
  • decodeURI()
  • decodeURIComponent()
  • encodeURI()
  • encodeURIComponent()

最新的 ECMAScript2021 的规范里已经移除了 uneval()/escape()/unescape(),只有上面 9 个算全局含函数;

关于全局函数的说明

这里说的全局函数,是指 ECMAScript 规范内的全局函数,全局指的是 globalThis;

在浏览器里最顶级对象是 window ,在 Nodejs 里最高输 global

跟多人感觉setTimeout也算全局函数,其实按照 ES 规范里是不算的,我们一般谈论 JS 的标准,都是默认指 ECMAScript 规范的这个为标准!请切记切记!!!

如果碰到了下面的面试题

下列函数哪些是JavaScript的全局函数?
A:encodeURI
B:parseFloat
C:setTimeout
D:eval

请一定要选择ABD,setTimeout 不属于全局函数,网上一群二货也挣得脸红脖子粗的 (https://www.nowcoder.com/questionTerminal/70716ef495734e70a6201593f7aac586), 这个问题没啥好争论的,因为无论什么观点都能找到有力的反驳证据;

最简单的就是直接打开 ECMAScript 规范来看,规范在:https://tc39.es/ecma262/#sec-function-properties-of-the-global-object

为了方便网速不好的小伙伴,我截图如下:

https://a.axihe.com/anbang/javascript/global-function/global-fun-all.png

小伙伴们,如果以后碰到这类争论问题,直接看规范就好,按照规范回答就绝对稳!

即使面试官说你错了,你也要当场拿出 ECMAScript 规范作为你的证据,只要面试官稍微深入研究过 JavaSrit,必定都会以 ECMAScript 做为最终的标准!

如果你面试真的遇到这类场景,请一定要抓住机会,如果表现优异,完全可以吊打面试官,只要你不嘴贱,不故意嘲讽他,态度好一些,加分很大,基本就过面试了。

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了