1.定义一个方法,传入一个string类型的参数,然后将string的每个字符间加个空格返回,比如:

 spacify('hello world') // => 'h e l l o  w o r l d'    

几道面试题-考察JS的运用    输出:几道面试题-考察JS的运用

 

如何把这个方法放入String对象上面,例如:

    'hello world'.spacify();

几道面试题-考察JS的运用输出:几道面试题-考察JS的运用

2 ,参数 arguments

定义一个未定义的log方法作为开始。

    log('hello world')

我会让侯选人去定义log,然后它可以代理console.log的方法。正确的答案是下面几行代码,其实更好的侯选人会直接使用apply.

 几道面试题-考察JS的运用

改变调用log的方式,传入多个参数。强调我传入参数的个数是不定的,可不止两个。

几道面试题-考察JS的运用直接调用的话,会输出:几道面试题-考察JS的运用

这种方法不能用,肯定需要换种方式调用:注意console是个对象,有多种方法,如log(最常用的),info,error,warn等,使用apply方法。

几道面试题-考察JS的运用输出:几道面试题-考察JS的运用

每一个log消息添加一个"(app)"的前辍,比如:

    '(app) hello world'

 几道面试题-考察JS的运用输出:几道面试题-考察JS的运用

 

 3.上下文

几道面试题-考察JS的运用这里输出1,很容易。

在添加几句:

几道面试题-考察JS的运用下面输出undefined。

因为func是在winodw的上下文中被执行的,所以会访问不到count属性。

 

怎么样保证User总是能访问到func的上下文,即返回正即的值:1,可以使用bind方法

几道面试题-考察JS的运用

 

如何兼容老的浏览器:可以使用apply方法

几道面试题-考察JS的运用

 

 

 

 

 

 


 

 


 
                    
            
                

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-03
  • 2021-05-30
  • 2022-02-09
猜你喜欢
  • 2022-03-04
  • 2021-08-10
  • 2021-12-26
  • 2021-06-23
  • 2022-02-06
相关资源
相似解决方案