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

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

10 谈谈this理解 1) this总是指向函数直接调用者(而非间接调用者) 2) 如果有new关键字,this指向new出来那个对象 3) 在事件,this指向目标元素,特殊是IEattachEvent...(当前被传递元素); 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.7K01
您找到你想要的搜索结果了吗?
是的
没有找到

浅谈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.4K40

RequireJS源码初探

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

89090

RequireJS

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

14710

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

10、 谈谈this理解 1) this总是指向函数直接调用者(而非间接调用者) 2) 如果有new关键字,this指向new出来那个对象 3) 在事件,this指向目标元素,特殊是IEattachEvent...(当前被传递元素); 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.4K40

JS模块化和使用

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

1.6K20

深入理解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)体系,无法将一个大程序拆分成互相依赖小文件,再用简单方法拼装起来。

90930

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

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

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

1.4K10

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.5K61

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

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

3.6K10

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

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

1.2K50

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

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

1.8K80

再谈BOM和DOM(4):DOM0DOM2事件处理分析

事件监听器就是响应某个事件函数就叫事件处理程序(),事件处理程序以on开头,因此click事件处理程序就是onclick 或addEventListener 一个完整事件系统,通常存在以下三个角色...事件源对象,当前事件在操作对象,元素节点,文档对象,window对象,XMLHttpRequest对象等。 事件监听器,当一个事件源生成一个事件对象时,它会调用相应回调函数进行操作。...DOM3级则进一步扩展了DOM,引入了以统一方式加载和保存文档方法–在DOM加载和保存(DOM Load and Save)模块定义;新增了验证文档方法–在DOM验证(DOM Validation...DOM 2级事件定义了两个方法,用于指定和删除事件处理程序操作。...)用来分配和移除事件处理函数,与IE不同是,这些方法需要三个参数: 事件名称(click) 要分配函数(第一个参数Event 对象代表事件状态) 处理函数是用于冒泡阶段(false)还是捕获阶段

78310

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
领券