首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

50道JavaScript基础面试题(附答案)

10 谈谈this的理解 1) this总是指向函数的直接调用者(而非间接调用者) 2) 如果有new关键字,this指向new出来的那个对象 3) 在事件中,this指向目标元素,特殊的是IE的attachEvent...(当前被传递的元素); index(当前被传递的元素的索引); array(调用map方法的数组) parseInt方法接收两个参数 第三个参数["1", "2", "3"]将被忽略。...AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。CMD 是 SeaJS 在推广过程中对模块定义的规范化产出。 区别: 1) 对于依赖的模块,AMD 是提前执行,CMD 是延迟执行。...不过 RequireJS 从 2.0 开始,也改成可以延迟执行(根据写法不同,处理方式不同)。 2) CMD 推崇依赖就近,AMD 推崇依赖前置。...attribute是dom元素在文档中作为html标签拥有的属性 property是dom元素在js中作为对象拥有的属性。

13.9K01
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    浅谈HTML5单页面架构(二)——backbone + requirejs + zepto + underscore

    三个根目录文件: index.html:唯一的html main.js:requirejs的配置,程序的入口 router.js:整个app或网站的单页面路由配置 第一步,还是建立单页面唯一的HTML...导入html类型的依赖 }, shim: { //引入没有使用requirejs模块写法的类库。...而上述代码中,关键不同点是,这里利用了requirejs做了模块化,路由跳转后做的所有逻辑都在另外的js中定义。...el指向对应的视图dom元素,用的是css选择器,在View中可以使用this.$el获取到这个jquery风格变量。render是自定义的函数。 到这里,运行程序,就能看到module1的效果了。...处理器中,利用了配置表的value,拉取对应的模块,并调用相应的controller。

    2.5K40

    RequireJS源码初探

    RequireJS的初探 看源码从头开始看,肯定是不切实际的。按照叶小钗的方法,是从data-main开始的,所以我们也从那里开始把!...首先,页面会有一段js标签,会去加载requirejs: Requirejs中,代码是一个自执行的方法...然后执行这个方法后,会自动调用context对象的makeRequire()方法,这个makeRequire实际上调用的又是内部定义的localRequire()。...LocalRequire则是处理加载任务的核心——比如依赖的检查,模块的加载等等。 执行点 req.nextTick = typeof setTimeout !== 'undefined' ?...3 加载模块的时候,会绑定一个load事件,当加载完会触发事件,执行该js 4 脚本实际上是通过创建了页面的script元素,然后添加到head里面。

    92190

    RequireJS

    大致意思: 在浏览器中可以作为js文件的模块加载器,也可以用在Node和Rhino环境,balabala...。这段话描述了requirejs的基本功能"模块化加载",什么是模块化加载?...目前为止可以知道requirejs具有如下优点: 防止js加载阻塞页面渲染 使用程序调用的方式加载js,防出现如下丑陋的场景 requirejs,一般使用require更简短 define 从名字就可以看出这个api是用来定义一个模块 require 加载依赖模块,并执行加载完后的回调函数 前一篇中的...,一个function,是用来处理加载完毕后的逻辑,如: require(["js/a"],function(){ alert("load finished"); }) 加载文件 之前的例子中加载模块都是本地...没有加载成功后,会加载本地js目录下的jquery 在使用requirejs时,加载模块时不用写.js后缀的,当然也是不能写后缀 上面例子中的callback函数中发现有$参数,这个就是依赖的jquery

    16910

    40道+JavaScript基础面试题(附答案)

    10、 谈谈this的理解 1) this总是指向函数的直接调用者(而非间接调用者) 2) 如果有new关键字,this指向new出来的那个对象 3) 在事件中,this指向目标元素,特殊的是IE的attachEvent...(当前被传递的元素); index(当前被传递的元素的索引); array(调用map方法的数组) parseInt方法接收两个参数 第三个参数["1", "2", "3"]将被忽略。...AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。CMD 是 SeaJS 在推广过程中对模块定义的规范化产出。 区别: 1) 对于依赖的模块,AMD 是提前执行,CMD 是延迟执行。...不过 RequireJS 从 2.0 开始,也改成可以延迟执行(根据写法不同,处理方式不同)。 2) CMD 推崇依赖就近,AMD 推崇依赖前置。...attribute是dom元素在文档中作为html标签拥有的属性 property是dom元素在js中作为对象拥有的属性。

    1.1K10

    HTML5 CSS3

    css属性的熟练程度和实践经验 13. 描述下CSS3里实现元素动画的方法 动画相关属性的熟悉程度 14. html5\CSS3有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?...例如: 段落包含在 元素中。 顺序表包含在元素中。 从其他来源引用的大型文字块包含在元素中。 HTML 元素不能用作语义用途以外的其他目的。...js文件的形式获取js脚本,并且这个js脚本中的内容是函数调用,该函数调用的参数是服务器返回的数据,为了获取这里的参数数据,需要事先在页面中定义回调函数,在回调函数中处理服务器返回的数据,这就是解决跨域问题的主流解决方案...//当触发事件处理程序时,切换为true //当文档就绪时,调用事件处理程序 function handler(e) { if(ready) return; //...核心是js的加载模块,通过正则匹配模块以及模块的依赖关系,保证文件加载的先后顺序,根据文件的路径对加载过的文件做了缓存 39、让你自己设计实现一个requireJS,你会怎么做?

    3.5K40

    JS模块化和使用

    什么是模块化 模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题进行系统性的分解以之处理。模块化是一种处理复杂系统分解为代码结构更合理,可维护性更高的可管理的模块的方式。...在兼容CommonJS的系统中,你可以使用JavaScript开发以下程序: (1).服务器端JavaScript应用程序 (2).命令行工具 (3).图形界面应用程序 (4).混合应用程序(如,Titanium...AMD(Asynchronous Module Definition:异步模块定义)是 RequireJS 在推广过程中对模块定义的规范化产出。...requirejs的使用代码示例 我在使用requirejs的时候踩最多坑的引入文件的地址,所以请读者注意define中引入其他模块所写的地址 示例一 /* 语法结构: 1. define.../* 语法结构: 2. define([引入其他模块地址],回调函数(引入模块别名)); 别名可以在函数里面去调用其他模块提供的方法 */ // 一个返回对象的匿名模块 define([‘js/

    1.7K20

    深入理解JS异步编程五(脚本异步加载)

    (2)通过document.write方法向页面写入标签或代码 (3)通过动态脚本技术,即利用DOM接口创建元素,并设置元素的src,然后再将元素添加进DOM中。...(5)直接把JavaScript代码写在元素的事件处理程序中或直接作为URL的主体 具体参考 http://www.jb51.net/article/77920.htm 脚本延迟运行 一般在JS页面延迟执行一些方法...“RequireJS 遵循的是 AMD(异步模块定义)规范,SeaJS 遵循的是 CMD (通用模块定义)规范”。 AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。...不过 RequireJS 从 2.0 开始,也改成可以延迟执行(根据写法不同,处理方式不同) CMD 推崇依赖就近,AMD 推崇依赖前置。...ECMAScript6 Moudle 历史上,JavaScript一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。

    93430

    前端相关片段整理——持续更新

    方法,从停止地方开始执行,移向下一个状态 1.5. yield 与 return 相似:都能返回紧跟在语句后面那个表达式的值 区别:记忆功能,执行次数,返回值数量 1.6....规范 require([module], callback); 模块加载与调用不同步,浏览器不会发生假死 requirejs curljs CMD seajs推广中对模块定义的产出 CMD与AMD区别...: amd推崇依赖前置(定义模块时申明其依赖的模块),cmd推崇依赖就近(用时再require) amd的api默认一当多,cmd推崇职责单一(amd中require分全局和局部) requirejs...事件委托 由其它元素而非事件目标元素来响应事件产生的行为的思想。如用ul元素来处理其子元素li的事件。...保持处理程序上下文的一个小技巧是将其设置到闭包内的一个变量,当在上下文改变的地方调用一个函数时,如setTimeout,你仍然可以通过该变量引用需要的对象。

    1.4K10

    vue、rollup、sass、requirejs组成的vueManager

    思考的主要问题点如下: 如何使各个子业务模块的按需加载 css预处理方案的选择 如何引入现代的前端工程思想,也就是工程化解决方案。...如:多个子业务模块都引用了vue,但我们必须得保证所有引入的vue版本是一致的。 rollup配置简单 2....按需加载 按需加载库我选择requirejs的理由如下: 按需加载的库很多,如seajs、mod.js等,选择requirejs由于我比较熟悉他。...此类组件的加载是由requirejs获取文件和组合实现(此方法在app.js中实现)。...main.js和index.html 系统的入口文件为index.html,其中导入了requirejs和main.js的引用,main.js作为整个前端系统的入口,会加载全局的vue组件,和创建一个vue

    1.9K60

    JavaSript模块规范 - AMD规范与CMD规范介绍

    模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题进行系统性的分解以之处理。模块化是一种处理复杂系统分解为代码结构更合理,可维护性更高的可管理的模块的方式。... http://www.requirejs.org/     API http://www.requirejs.org/docs/api.html     RequireJS 是一个前端的模块化管理的工具库...require方法调用模块     在require进行调用模块时,其参数与define类似。...当然还可以如之前的例子中的,在define定义模块内部进行require调用模块 define( function( require ){ var m1 = require( 'module1...对于依赖的模块,AMD 是提前执行,CMD 是延迟执行。不过 RequireJS 从 2.0 开始,也改成可以延迟执行(根据写法不同,处理方式不同)。

    1.6K61

    前端模块化开发解决方案详解

    一、模块化开发方案 前端发展到今天,已经有不少模块化的方案,比如 CommonJS(常用在服务器端,同步的,如nodejs) AMD(常用在浏览器端,异步的,如requirejs)(Asynchronous...RequireJS的基本思想是,通过define方法,将代码定义为模块;通过require方法,实现代码的模块加载。 首先,将require.js嵌入网页,然后就能在网页中进行模块化编程了。...首先要在页面中引入 sea.js 文件,这一般通过页头全局把控,也方便更新维护。想在页面中使用某个组件时,只要通过 seajs.use 方法调用。 CMD语法 1、定义模块 define(id?...这可以让依赖内置,开发者只需关心当前模块的依赖,其他事情 Sea.js 都会自动处理好。对模块开发者来说,这是一种很好的 关注度分离,能让程序员更多地享受编码的乐趣。...不过RequireJS从2.0开始,也改成可以延迟执行(根据写法不同,处理方式不通过)。

    3.8K10

    bootstrap + requireJS+ director+ knockout + web API = 一个时髦的单页程序

    bootstrap requireJS director knockout 用requireJS实现远程模板的调用 rest中关于局部更新的讨论 WEB API的Model验证 小结 需求介绍   我们的需求很简单...体验当然是最不好的,同时对服务器来说也需要处理的更多。 2. 页面局部刷新 至从Ajax火起来之后,大家就想起了这一点。...难题 最大的难题是Javascript部分,由于全部在一个页面,我们需要处理变量覆盖,变量作用域,对于前端开发人员来说要求会更上一层楼 对于全球化,授权等模块都需要重新考虑和设计以便更适合这种单页程序的开发...用requireJS实现远程模板的调用   直接用require来加载html模板是不行的,人家已经说了是一个Javascript文件和模块的加载器。...https://github.com/requirejs/text   把那个text.js下载下来,直接放到我们程序的根目录下,然后我们就可以用像加载js一样的方法来加载html代码了,除了要在我们文件位置前面加上一个

    1.2K50

    React学习(四)-理清React的工作方式

    ,优秀的程序员关心数据结构,平凡的程序员操心代码一样,如果把JQ,与React做这样一个对比,前者就是React,在这里没有任何贬低JQ的意思....()方法的一个语法糖?...requirejs以及Seajs解决一些问题,但是使用JQ写出来的代码往往互相纠缠 如下图所示 使用React的方式,就可以避免构建这样复杂的程序结构,无论何种事件,引发的都是React组件的重新渲染,...它只会修改数据变化的的DOM部分,并不需要去关心怎么去操作DOM 如下图所示 在React中,对JSX元素上添加事件,是通过on*EventType 这种内联方式添加的,不需要手动调用浏览器原生的 addEventListener...进行事件监听,在React中,它已经帮我们封装好了一些事件类型属性(onClick,onChange,onFocus,obBlur等) 当需要给某个JSX元素监听事件的时候,只需要通过内联方式,在React

    1.8K30

    三大主流模块打包工具对比

    开发时的RequireJS 模块往往是一个个单独的文件,RequireJS 从入口文件开始,递归地进行静态分析,找出所有直接或间接被依赖(require)的模块,然后进行转换与合并,结果大致如下(未压缩...;}); AMD 通过将模块的实现代码包在匿名函数(即AMD 的工厂方法,factory)中实现作用域的隔离,通过文件路径作为天然的模块ID 实现命名空间的控制,将模块的工厂方法作为参数传入全局的define... 在main.less 中引入(import)part A 对应的Less 文件。 如果part A 需要用到特定的模板,可能还需要在页面HTML 文件中插入特定ID的template 标签。...很多人不知道的是,RequireJS 是支持除AMD 格式的JavaScript 模块以外的其他类型的资源加载的,而且有着相当丰富的plugin,从纯文本到模板,从CSS 到字体等都有覆盖。...在Node.js 中,模块文件都是直接从本地文件系统读取,其加载与执行是同步的,因此 require 一个表达式成为可能,在执行到 require 方法时再根据当前传入的moduleId 进行实时查找、

    1.9K80

    React基础(4)-理清React的工作方式

    ()方法的一个语法糖?...requirejs以及Seajs解决一些问题,但是使用JQ写出来的代码往往互相纠缠 如下图所示 使用React的方式,就可以避免构建这样复杂的程序结构,无论何种事件,引发的都是React组件的重新渲染,...它只会修改数据变化的的DOM部分,并不需要去关心怎么去操作DOM 如下图所示 在React中,对JSX元素上添加事件,是通过on*EventType 这种内联方式添加的,不需要手动调用浏览器原生的 addEventListener...也就是说,onClick={…} /> 这样的写法是不起作用的 如果想要做到这一点,在组件标签上监听事件起作用,也可以做到,就是结合第三方模块styled-components样式组件进行使用...on*EnentType的方式 并且这种事件的监听,它只作用于原生HTML元素上,若放在自定义的组件上时,是不起作用的,具体解决办法,可以引入第三方styled-components模块的,后续单独拿一篇幅来说也不为过的

    2.1K20
    领券