Javascript面试的完美指南(开发者视角)
为了说明 JS 面试的复杂性,首先,请尝试给出以下结果:
十有八九的会给出false, 其实运行结果是true,原因请看 这里。 1) 理解 JS 函数 函数是 JavaScript 的精华,是 JS 一等公民。JS 函数不仅仅是一个普通的函数,与其他语言不同,JS 函数可以赋值给变量,作为参数传递给另一个函数,也可以从另一个函数返回。
以为代码很简单,大家应该都知道会打印:25。接着看一个:
乍一看,你可能会忍不住说也打印了 25。但很不幸,会报错:
在 JavaScript 中,如果将函数定义为变量,变量名将被提升,是 JS 执行到它的定义才能被访问。 你可能在一些代码中频繁的见到如下代码。
为什么会做这种奇怪的事情? 这是因为一个函数变量中变量和函数被分装,可以避免全局变量污染。 JQuery 到Lodash 的库采用这种技术提供 $、_ 等 2) 理解 bind、apply 和 call 你可能在所有常用库中看到过这三个函数。它们允许局部套用, 我们可以把功能组合到不同的函数。一个优秀的js开发者可以随时告诉你关于这三个函数。 基本上,这些是改变行为以实现某些功能的原型方法,根据 JS 开发人员 Chad 的说法,用法如下: 希望使用某个上下文调用该函数,请使用 .bind() ,这在事件中很有用。 如果要立即调用函数,请使用.call() 或 .apply(),并修改上下文。 举例说明 让我们看看上面的陈述是什么意思! 假设你的数学老师要求你创建一个库并提交。你写了一个抽象的库,它可以求出圆的面积和周长:
提交后,老师调用了它:
老师发现他给你要求是 pi 精确到小数点后 5 位数而你只精确到 2 位, 现在由于最后期限已过你没有机会提交库。 这里 JS的 call 函数可以帮你, 只需要调用你的代码如下:
它会动态地获取新的 pi 值,结果如下:
这时,注意到 call 函数具有两个参数:
在 area 函数中, 上下文是对象被关键词 this 代替,后面的参数作为函数参数被传递。 如下:
【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。 |
-
SEO优化剖析空间不稳固性就像人们居住的房子。这房子...[详细]
-
不知道从何时起,网站seo优化行业传出唱衰的声音,一...[详细]
-
我们常常说网站文章要保持稳定的更新,但是具体更新多...[详细]
-
进入seo优化这个行业之后,你就会听到各种各样的行业...[详细]
-
搜索引擎优化(SEO)是应用搜索引擎的搜索规矩来进步...[详细]
-
做SEO的新手会遇到各种各样的网站问题,其中一个很常...[详细]
-
当网站做的时间久,词库多起来之后,长尾词带来的流量...[详细]
-
做网站排名优化,如果没有几个拿得出手的技术,很难生...[详细]
-
在文章中添加图片可以激励人们浏览。精心挑选的图片还...[详细]
-
很多网站建立之后收录与排名长时间没有变化,导致很多...[详细]