五一假期来袭!最全的资料快来领呀!

开课吧开课吧锤锤2021-04-29 10:34

点赞
有用
分享分享

    初试时比较偏基础,大部分题目都会,即使不会也似曾相识,也能说上几句。但为何有些人能过,有些人不能过,这就是要检验你的基础知识是否全面、扎实。对,但你的回答必须详细,而且有些问题需要用各种方式回答。这需要大家平时的积累。

web

    define介绍一下

    define是amd(异步模块加载机制)的api,第一个参数是模块名称(可选),第二个参数是数组,包含所有依赖的模块(可选),第三个参数可以是一个函数或者是一个js对象。

    (1)三个参数:如果第三个参数是回调函数的话,异步加载完依赖的模块之后,执行回调函数,在回调函数中可以直接使用依赖的模块,他们按依赖声明顺序作为参数提供给回调函数。回调函数执行结束之后,通知依赖于自己的模块自己已经可用。

    (2)两个参数:当第一个参数省略的话,就定义了一个匿名模块,这时候模块文件的文件名就是模块名。这将会使模块是高度可用的。

    (3)一个参数:define的前面两个参数都可以省略;第三个参数有两种情况:一种是JavaScript对象,另一种是一个函数。

    如果是对象,可以是包含方法的对象或者是只提供数据。后者和JSONP非常类似,因此,AMD可以认为包含了一个完整的JSONP实现。模块演变为一个简单的数据对象,这样的数据对象是高度可用的,而且因为是静态对象,它也是CDN友好的,可以提高JSONP的性能。

    如果是函数,其用途之一是快速开发实现。适用于较小型的应用,该方式无需提前考虑需要引入的模块,只需使用时,require即可。

    define函数在执行的时候,会调用函数的toString方法,并扫描其中的require调用,提前载入这些模块,载入完成后再执行。

    注意:Opera不能很好的支持函数的toString方法,因此,在浏览器中它的适用性并不强。但是使用构建工具打包时,构建工具会扫描require并强制载入依赖模块。

    上面是为大家总结整理的面试题,一个简单的面试题不足以满足你学习的心情,那么点击下面的图片,免费领取面试题。

web

    看多了,看少了,找面试题,又麻烦了,还不定对自己能力的提高有帮助,拿到一个综合面试题,对大家都有帮助。以上就是开课吧广场小编为大家整理发布的“五一假期来袭!最全的资料快来领呀!”一文,更多Web面试相关内容尽在开课吧广场Web面试频道!

有用
分享