码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2017-04-23 01:19:22      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:定义   nbsp   面试题   inf   err   blog   png   ima   pac   

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

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

技术分享    输出:技术分享

 

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

    ‘hello world‘.spacify();

技术分享输出:技术分享

2 ,参数 arguments

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

    log(‘hello world‘)

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

 技术分享

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

技术分享直接调用的话,会输出:技术分享

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

技术分享输出:技术分享

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

    ‘(app) hello world‘

 技术分享输出:技术分享

 

 3.上下文

技术分享这里输出1,很容易。

在添加几句:

技术分享下面输出undefined。

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

 

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

技术分享

 

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

技术分享

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

标签:定义   nbsp   面试题   inf   err   blog   png   ima   pac   

原文地址:http://www.cnblogs.com/ydaimee/p/6750146.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!