在一个大学班级群看到这样一道题目,不知道哪家公司面试居然用阿里的面试题,估计面试者有点欲哭无泪
面试题首先大致分析,这段代码实现什么功能,结合调用函数以及参数分析应该是输出一个a标签实现对应跳转功能,,代码片段中中出现{0}{1}{2}以及字符串的replace方法可以知道,应该使用参数对应替换{}的内容。
代码分两个部分,第一个部分是自调用函数,能够避免变量名污染,最后使用window对象将函数fn暴露给外部使用,内部主要有构造函数赋值以及原型对象上添加format方法。
结合以上分析,其实第二个空格已经清楚了,应该是一个正则表达式代表{num}的参数,所以第二个空格为“/\{(\d+)\}/g”,第一个空可以知道应该为数组或者对象,根据整体分析,应该为format传递过来的参数,所以第一个空为“arguments”,输出结果为
输出结果整体考察匿名函数,原型对象以及replace方法的使用,其中replace方法第二个参数可以为函数,函数两个参数,第一个不是很理解,第二个应该就是数组下标
网友评论