2019前端经典面试题

合集下载

2019最新前端面试题-1、阿里(29问)

2019最新前端面试题-1、阿里(29问)

1. 使⽤用过的koa2中间件
2. koa-body原理理
3. 介绍⾃自⼰己写过的中间件
4. 有没有涉及到Cluster
5. 介绍pm2
6. master挂了了的话pm2怎么处理理
7. 如何和MySQL进⾏行行通信
8. React声明周期及⾃自⼰己的理理解
9. 如何配置React-Router
10. 路路由的动态加载模块
11. 服务端渲染SSR
12. 介绍路路由的history
13. 介绍Redux数据流的流程
14. Redux如何实现多个组件之间的通信,多个组件使⽤用相同状态如何进⾏行行管理理
15. 多个组件之间如何拆分各⾃自的state,每块⼩小的组件有⾃自⼰己的状态,它们之间还有⼀一些公共的状态需要维护,如何思考这块
16. 使⽤用过的Redux中间件
17. 如何解决跨域的问题
18. 常⻅见Http请求头
19. 移动端适配1px的问题
20. 介绍flex布局
21. 其他css⽅方式设置垂直居中
22. 居中为什什么要使⽤用transform(为什什么不不使⽤用marginLeft/Top)
23. 使⽤用过webpack⾥里里⾯面哪些plugin和loader
24. webpack⾥里里⾯面的插件是怎么实现的
25. dev-server是怎么跑起来
26. 项⽬目优化
27. 抽取公共⽂文件是怎么配置的
28. 项⽬目中如何处理理安全问题
29. 怎么实现this对象的深拷⻉贝。

前端面试题及答案2019

前端面试题及答案2019

前端面试题及答案20191. HTML5 新增的表单元素有哪些?- 答案: HTML5 新增的表单元素包括:`<date>`、`<email>`、`<month>`、`<number>`、`<range>`、`<search>`、`<tel>`、`<time>`、`<url>`、`<week>`。

2. 请解释 CSS 中的 Flexbox 布局。

- 答案: Flexbox 是一种CSS3布局模式,它允许容器内子元素在不同屏幕和设备上动态地调整大小和位置。

Flexbox 布局通过设置容器的 `display` 属性为 `flex` 来启用。

它提供了两个轴:主轴(main axis)和交叉轴(cross axis),以及多种属性来控制子元素的排列方式。

3. JavaScript 中 `var`、`let` 和 `const` 的区别是什么?- 答案:- `var` 是函数作用域或全局作用域的变量声明关键字,可以被重新声明和赋值。

- `let` 是块级作用域的变量声明关键字,不能被重新声明,但可以重新赋值。

- `const` 也是块级作用域的常量声明关键字,声明后不能被重新赋值或重新声明。

4. 解释 JavaScript 中的闭包是什么?- 答案:闭包是一个函数和声明该函数的词法环境的组合。

即使在其原始作用域之外,闭包也可以访问其作用域链上的变量。

闭包常用于创建私有变量和函数,以及实现模块模式。

5. 如何实现深拷贝和浅拷贝?- 浅拷贝:复制对象的引用,而不是对象本身。

可以使用`Object.assign()` 或展开运算符 `...` 来实现。

- 深拷贝:递归复制对象的属性,包括嵌套的对象。

可以使用`JSON.parse(JSON.stringify(obj))`(但有局限性,例如不能拷贝函数和循环引用),或者使用第三方库如 `lodash` 的`_.cloneDeep()` 方法。

2019年百度前端工程师面试题(附答案)

2019年百度前端工程师面试题(附答案)

2019年百度前端⼯程师⾯试题(附答案)⼀、单选题(共25题,每题5分)1.该正则可以匹配下列哪个字符串? /^sjm/A、absjmB、phpsjmC、sjmphpD、phpsimd参考答案:C答案解析:该正则匹配以sjm开头的字符串2.新窗⼝打开⽹页,⽤到以下哪个值()。

A、_selfB、_blankC、_topD、_parent参考答案:B答案解析:在html中通过标签打开⼀个链接,通过标签的 target 属性规定在何处打开链接⽂档。

如果在标签中写⼊target属性,则浏览器会根据target的属性值去打开与其命名或名称相符的框架或者窗⼝.在target中还存在四个保留的属性值如下,### 属性值值描述\_blank在新窗⼝中打开被链接⽂档。

\_self默认。

在相同的框架中打开被链接⽂档。

\_parent在⽗框架集中打开被链接⽂档。

\_top在整个窗⼝中打开被链接⽂档。

*framename*在指定的框架中打开被链接⽂档。

这些 target 的所有 4 个值都以下划线开始。

任何其他⽤⼀个下划线作为开头的窗⼝或者⽬标都会被浏览器忽略,因此,不要将下划线作为⽂档中定义的任何框架 name 或 id 的第⼀个字符。

上⾯这段出⾃w3c。

3.如果⼀个HTML⽂档内含有阿拉伯⽂,则应该?A、使⽤utf-8编码B、将阿拉伯⽂转为图⽚并嵌⼊到⽂档内C、使⽤GBK编码D、使⽤iso-8859-2编码参考答案:A答案解析:UTF-8(8-bit Unicode Transformation Format)是⼀种针对Unicode的可变长度字符编码,⼜称万国码。

UTF-8⽤1到6个字节编码UNICODE字符。

⽤在⽹页上可以同⼀页⾯显⽰中⽂简体繁体及其它语⾔(如英⽂,⽇⽂,韩⽂)。

GBK是汉字编码,是双字节码,可表⽰繁体字和简体字。

```ISO8859-2 字符集,也称为 Latin-2,收集了东欧字符。

```4.以下哪个选项不是块级元素()A、divB、spanC、pD、h1参考答案:B答案解析:常见的内联元素:、**、、*、*、**、、、、、` `******常见的块级元素:、、、、、、、、> 、窗体顶端窗体底端常见的内联块级元素:![]()、5.下⾯关于⼆叉树的说法正确的是?A、满⼆叉树就是完全⼆叉树B、满⼆叉树中有可能存在度数为1的节点C、完全⼆叉树就是满⼆叉树D、完全⼆叉树中某个节点可以没有左孩⼦,只有右孩⼦参考答案:A答案解析:满⼆叉树的任意节点,要么度为0,要么度为2.换个说法即要么为叶⼦结点,要么同时具有左右孩⼦。

2019前端面试题

2019前端面试题

2019前端⾯试题1.什么是⾯向对象?什么是⾯向过程?1)⾯向对象的重点是对象。

当解决⼀个问题的时候,⾯向对象会把事物抽象成对象,也就是说这个问题包含哪些对象,然后给这些对象赋⼀些属性和⽅法,让每个对象执⾏⾃⼰的⽅法,问题得到解决。

2)⾯向过程的重点是过程。

解决⼀个问题的时候,⾯向过程会把问题拆分成⼀个个的函数和数据(⽅法的参数)。

然后按照⼀定的顺序执⾏这些⽅法,执⾏完这些⽅法,问题得到解决。

2.什么是⾯向对象程序设计?答:将计算机需要处理的问题都抽象成对象,在抽象成类,帮助⼈们实现对现实世界的抽象与数字建模。

⾯向对象的程序设计更加符合⼈的思考逻辑和对事物的处理。

3.什么是对象?什么是类?答:对象是由类实例化出来的,类的实例称为对象。

类是具有相同特征和功能的对象的抽象。

类和对象的关系就好⽐模具和铸件的关系,类的实例化结果就是对象,⽽对象的抽象就是类。

4.什么是继承?在⾯向对象的编程中,当两个类具有相同的特征(属性)和⾏为(⽅法)时,可以将相同的部分抽取出来放到⼀个类中作为⽗类,其他两个类继承这个⽗类。

继承后的⼦类⾃动拥有了⽗类的部分属性和⽅法。

通过继承创建的新类被称为“⼦类”或“派⽣类”被继承的类称为“基类”、“⽗类”或“超类”⽐如:狗{吠;}牧⽺⽝继承狗{放⽺;}上⾯的例⼦中,狗类是⽗类,牧⽺⽝类是⼦类。

牧⽺⽝类通过继承获得狗类的吠的能⼒,同时增加了⾃⼰独有的放⽺的能⼒。

JS中的继承主要是通过原型链实现的每个构造函数(constructor)都有⼀个原型对象(prototype),原型对象都包含⼀个指向构造函数的指针,⽽实例(instance)都包含⼀个指向原型对象的内部指针如果试图引⽤对象(实例instance)的某个属性,会⾸先在对象内部寻找该属性,直⾄找不到,然后才在该对象的原型(instance.prototype)⾥去找这个属性5.谈谈你对前端性能优化的理解1)请求数量,合并脚本和样式表,拆分初始化负载2)请求带宽,精简JavaScript,移除重复脚本,图像优化,将icon做成字体3)页⾯结构:将样式表放在顶部,将脚本放在底部,尽早刷新⽂档的输出6.为什么使⽤框架?使⽤框架的优势?1)重复应⽤的外部JS:使⽤框架后我们可以把这些⽂件写在⼊⼝⽂件中,⼀劳永逸2)组件化:组件是前端框架⾥⾮常强⼤的功能之⼀,它可以扩展你的HTML,封装可以重⽤的代码块,⽐如你的轮播图、tab切换、页⾯头部、页⾯底部等等。

解析前端面试题2019年小米工程师面试题(附答案)

解析前端面试题2019年小米工程师面试题(附答案)

解析前端⾯试题2019年⼩⽶⼯程师⾯试题(附答案)⼀、单选题(共24题,每题5分)1.关于XSS的说法,错误的是A、script,js,vbscript,flashB、分类:反射,存储C、是浏览器端代码注⼊,恶意的script,css,html代码被浏览器解析D、PHP相关漏洞参考答案:D答案解析:是浏览器端代码注⼊,恶意的script,css,html代码被浏览器解析。

分类:反射,存储 script,js,vbscript,flash2.关于JSONP使⽤的说法错误的是:A、可以实现跨域通信B、基于 json 格式数据,兼容性好,简单易⽤C、只⽀持跨域HTTP请求这种情况,不能解决不同域的两个页⾯之间进⾏JavaScript调⽤的问题D、可以完美⽀持POST请求参考答案:D3.HTML页⾯中有如下结构的代码,下列选项所⽰jQuery代码,不能够让汉字“四”的颜⾊变成红⾊的是?A、 $("#header ul li:eq(3)").css("color","red");B、 $("#header li:eq(3)").css("color","red");C、 $("#header li:last").css("color","red");D、 $("#header li:gt(3)").css("color","red");参考答案:D答案解析:注意是选择不能4.下⾯哪⼀种属于“creational”的设计模式?A、FaçadeB、SingletonC、BridgeD、CompositeE、上⾯都不是参考答案:B答案解析:总体来说设计模式分为三⼤类:创建型模式,共五种:⼯⼚⽅法模式、抽象⼯⼚模式、单例模式、建造者模式、原型模式。

前端面试题2019年网易工程师面试题及答案解析

前端面试题2019年网易工程师面试题及答案解析

前端⾯试题2019年⽹易⼯程师⾯试题及答案解析⼀、单选题(共19题,每题5分)1.CSS 盒⼦模型中()是透明的,这部分可以显⽰背景()A、paddingB、marginC、borderD、content参考答案:A答案解析:- **Margin(外边距)** - 清除边框外的区域,外边距是透明的。

- **Border(边框)** - 围绕在内边距和内容外的边框。

- **Padding(内边距)** - 清除内容周围的区域,内边距是透明的。

- **Content(内容)** - 盒⼦的内容,显⽰⽂本和图像。

- Margin --------margin清除周围的元素(外边框)的区域。

margin没有背景颜⾊,是完全透明的Padding(填充) ------------- 当元素的 Padding(填充)(内边距)被清除时,所"释放"的区域将会受到元素背景颜⾊的填充。

2.通常我们在浏览器内容区看到的内容,都是放⼊在 () 之间A、<!doctype html>B、<html></html>C、<head></head>D、<body></body>参考答案:D答案解析:A答案是声明⽂档类型。

B答案是整个html⽂件。

C答案是⽹页标题,在浏览器顶部显⽰、D答案是⽹页的主体部分,即浏览器的内容区域。

所以答案是D。

html⽂件结构如下>⽹页名称,头部⽹页主体内容,浏览区域3.关于HTML语义化,以下哪个说法是正确的?A、语义化的HTML有利于机器的阅读,如PDA⼿持设备、搜索引擎爬⾍;但不利于⼈的阅读B、Table 属于过时的标签,遇到数据列表时,需尽量使⽤ div 来模拟表格C、语义化是HTML5带来的新概念,此前版本的HTML⽆法做到语义化D、header、article、address都属于语义化明确的标签参考答案:D答案解析:关于html语义化的⼀些参考</http:>4.以下位于head 间的代码⽚段是做什么⽤的?A、使得页⾯编码合乎要求B、表⽰⽀持响应式设计C、⽀持正常的绘制和缩放D、表⽰针对滚屏进⾏适当的适配参考答案:B答案解析:5.下列定义的css中,哪个权重是最低的?A、#game B、#game .nameC、#game divD、#game .name span参考答案:C答案解析:最⾼赞的答案并不准确。

2019vue面试题大全附答案.doc

2019vue面试题大全附答案.doc

2019 VUE 前端面试题1、active-class 是哪个组件的属性?嵌套路由怎么定义?答:vue-router 模块的router-link 组件。

2、怎么定义vue-router 的动态路由?怎么获取传过来的动态参数?答:在router 目录下的index.js 文件中,对path 属性加上/:id 。

使用router 对象的params.id3、vue-router 有哪几种导航钩子?答:三种,一种是全局导航钩子:router.beforeEach(to,from,next) ,作用:跳转前进行判断拦截。

第二种:组件内的钩子;第三种:单独路由独享组件4、scss 是什么?安装使用的步骤是?有哪几大特性?答:预处理css,把css 当前函数编写,定义变量,嵌套。

先装css-loader 、node-loader 、sass-loader 等加载器模块,在webpack-base.config.js 配置文件中加多一个拓展:extenstion ,再加多一个模块:module 里面test 、loader4.1 、scss 是什么?在vue.cli 中的安装使用步骤是?有哪几大特性?答:css 的预编译。

使用步骤:第一步:用npm 下三个loader(sass-loader 、css-loader 、node-sass)第二步:在build 目录找到webpack.base.config.js ,在那个extends 属性中加一个拓展.scss第三步:还是在同一个文件,配置一个module 属性第四步:然后在组件的style 标签加上lang 属性,例如:lang= ”scss”有哪几大特性:1、可以用变量,例如($变量名称= 值);2、可以用混合器,例如()3、可以嵌套5、mint-ui 是什么?怎么使用?说出至少三个组件使用方法?答:基于vue 的前端组件库。

npm 安装,然后import 样式和js,e(mintUi)全局引入。

2019年阿里最新前端工程师面试题及答案题

2019年阿里最新前端工程师面试题及答案题

2019年阿⾥最新前端⼯程师⾯试题及答案题⼀、单选题(共21题,每题5分)1.为每⼀个指定元素的指定事件(像click)绑定⼀个事件处理器函数,下⾯哪个是⽤来实现该功能的?A、trigger (type)B、bind(type)C、one(type)D、bind参考答案:B答案解析:暂⽆2.哪⼀个html盒模型中的border的正确写法?A、p{ border:5px solid red;}B、p{border:5px <br> red solid; }C、p{border: red solid 5px; }D、p{border: solid red 5px; }参考答案:A答案解析:为了代码的可读性,建议按照,border-width,border-style,border-color,的顺序书写。

但其实顺序调换是不影响呈现的3.关于适配器模式,说法错误的是?A、适配器继承或依赖已有的对象,实现想要的⽬标接⼝B、主要解决在软件系统中,常常要将⼀些"现存的对象"放到新的环境中,⽽新环境要求的接⼝是现对象不能满⾜的C、定义了算法家族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化不会影响到使⽤算法的客户D、将⼀个类的接⼝转换成客户希望的另外⼀个接⼝。

适配器模式使得原本由于接⼝不兼容⽽不能⼀起⼯作的那些类可以⼀起⼯作。

参考答案:C答案解析:将⼀个类的接⼝转换成客户希望的另外⼀个接⼝。

适配器模式使得原本由于接⼝不兼容⽽不能⼀起⼯作的那些类可以⼀起⼯作适配器继承或依赖已有的对象,实现想要的⽬标接⼝主要解决在软件系统中,常常要将⼀些"现存的对象"放到新的环境中,⽽新环境要求的接⼝是现对象不能满⾜的4.以下⼏种在HTML⽂档中通过CSS的⽅式将⽂档颜⾊设置为红⾊背景错误的是:()A、内联样式表:<body style=”background-Color:red”></body>B、嵌⼊样式表:<style> body { background-Color:red } </style>C、外部样式表:在当前⽬录下创建⼀个test.css⽂件,在⽂件中声明⼀条<style> body { background-Color:red } </style>代码,并在HTML⽂档中通过<link style=”text/css” rel=”stylesheet”href=”test.css”>将其链接到本⽂档中使⽤D、输⼊样式表:在当前⽬录下创建⼀个test.css⽂件,在⽂件中声明⼀条body { background-Color:red } 代码,并在HTML⽂档中通过<style>@import url(test.css);</style>输⼊到本⽂档中使⽤参考答案:C答案解析:暂⽆5.在 HTML5 中,哪个⽅法⽤于获得⽤户的当前位置?A、getPosition()B、getCurrentPosition()C、getUserPosition()D、getLocation()参考答案:B答案解析:getCurrentPosition()获取⽤户当前位置放⼊⼀个值中保存,getLocation()地图定位6.对于下拉菜单,错误的是?<pre class="prettyprint"><div class="dropdown"> <button class="btn btn-" tabindex="-1">Separated link</a></li>defaultdropdowtoggle" data-toggle="dropdown" id="dropdownMenu1" type="button">Dropdown<span class="caret"></span></button><ul aria-labelledby="dropdownMenu1" class="dropdown-menu" role="menu"><li role="presentation"><#" role="menuitem" tabindex="-1">Action</a></li> <li r"presentation"><a href="#" role="menuitem" tabindex="-1">Anotheaction</a></li> <li rolef="#" role="menuitem" tabindex="-1">Something else here</a></li><li role="presentation"><a href="#" role="menuitem" tabindex="-1">Separated link</a></li><pre class="prettyprint"><div class="dropdown"><button class="btn btn-default dropdown-toggle" data-toggle="dropdown" id="dropdownMenu1" type="button">Dropdown<span class="caret"></span></button><ul aria-labelledby="dropdownMenu1" class="dropdown-menu" role="menu"><li role="presentation"><a href="#" role="menuitem" tabindex="-1">Action</a></li><li role="presentation"><a href="#" role="menuitem" tabindex="-1">Another action</a></li><li role="presentation"><a href="#" role="menuitem" tabindex="-1">Something else here</a></li><li role="presentation"><a href="#" role="menuitem" tabindex="-1">Something else here</a></li>A、表⽰了⼀个有五个下拉选项的下拉菜单B、<span class="caret"></span>可以去掉⽽不影响功能C、可以加⼊pull-right使菜单右对齐D、可加⼊dropdown-menu-right使菜单右对齐参考答案:A答案解析:这道题我⼀眼就看出A有错了,可是还是让我纠结了好久,怎么会有这么低级的问题,空城计吗7.下⾯关于 CSS 布局的描述,不正确的是?()下⾯关于CSS布局的描述,不正确的是?()A、块级元素实际占⽤的宽度与它的 width 属性有关;B、块级元素实际占⽤的宽度与它的 border 属性有关;C、块级元素实际占⽤的宽度与它的 padding 属性有关;D、块级元素实际占⽤的宽度与它的 background 属性有关。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1,html和xml有什么区别html是超文本标记语言xml是可扩展标记语言html语法宽松,xml语法严谨html使用固有标记,xml没有固有标记html标签预定义,xml标签可扩展,可定义html是用来显示数据的,xml是用来描述和存储数据的2,css有哪几种选择器?权重的优先级?第一种为属性选择器第二种为id选择器第三种为class选择器第四种为伪类选择器第五种是后代选择器第六种是标签选择器第七种是通用选择器第八种是伪元素选择器1.第一等:代表内联样式,如: style=””,权值为1000。

2.第二等:代表ID选择器,如:#content,权值为0100。

3.第三等:代表类,伪类和属性选择器,如.content,权值为0010。

4.第四等:代表类型选择器和伪元素选择器,如div p,权值为0001。

5.通配符、子选择器、相邻选择器等的。

如*、>、+,权值为0000。

6.继承的样式没有权值。

3,网页有哪几部分组成?结构层:html表示层:css行为层:js和dom4,一个200*200的div在不同分辨率屏幕上下左右居中,用css实现Div{position:absolute;width:200px;height:200px;top:50%;left:50%;margin-top:-100px;margin-left:-100px;}5,阐述清楚浮动的几种方式第一种父级div定义高度height 适合高度固定的布局第二种父级div定义overflow:hidden第三种结尾处加空标签clear:both 让父级自动获取高度第四种父级div定义伪类:after 和zoom6,解释css sprites,如何使用?CSS Sprites其实就是把网页中一些背景图片整合到一张图片文件中,再利用CSS的“background-image”,“background- repeat”,“background-position”的组合进行背景定位,background-position可以用数字能精确的定位出背景图片的位置。

CSS Sprites为一些大型的网站节约了带宽,让提高了用户的加载速度和用户体验,不需要加载更多的图片7,如何用原生js给一个按钮绑定两个onclick事件?Var btn1 =document. getElementsById(“btn”);btn1.addEnventListener(“click”,”hello1);btn1.addEnventListener(“click”,”hello2);function hello1(){alert(“hello1”);}function hello2(){alert(“hello2”);}8, 拖曳会用到哪些事件?DragstartDragenterDragoverDragleaveDragDropDragend9, 请列举jQuery中选择器?1,基本选择器ID,class,元素之类的2,层级选择器返回的是jQuery对象才可以进行的链式操作如后代元素,子元素,兄弟元素,相邻元素3,过滤选择器基本过滤, 内容过滤, 可见性过滤, 属性过滤, 子元素过滤和表单对象属性过滤选择器10,JavaScript中有哪些定时器,他们的区别和用法是什么?SetTimeout 只会执行一次SetInterval 会一直重复执行方式都为:settimeout(函数,时间)11,请描述一下cookies sessionstorage 和localstorage区别相同点:都储存在客户端上不同点:1 储存大小Cookies 数据大小不能超过4kSessionstorage和Localstorage 比cookies大,可以达到5m或更多2有效时间Localstorage 储存持久数据,浏览器关闭后也不会丢失,除非主动删除数据Sessionstorage 数据在关闭游览器之后自动删除Cookies 设置的cookies过期时间之前一直有效,即使窗口和游览器关闭。

3数据与服务器之间的交互方式Cookies的数据会自动的传递到服务器,服务器端也可以写cookies到客户端Sessionstorage和localstorage 不会上传到服务器,仅在本地保存12,计算一个数组arr所有元素的和//可以通过document.getelmentbyid().value;来获取输入框中的值function sum2(){var arr1=[1,2,3,4,5,6,7,8,9];var sum1=0;for (var i=0;i<=arr1.length;i++) {if (typeof arr1[i]=="number") {sum1+=arr1[i];}}document.write(sum1);}13,编写一个方法去掉数组里的重复内容var arr=[1,2,3,4,5,1,2,3]function arr1(){var arr2 = [1,2,3,4,5,1,2,3];var s= [];for(i= 0;i<arr2.length;i++){if(s.indexOf(arr2[i]) == -1){s.push(arr2[i]);}}console.log(s);}14,document.write和innerHTML的区别是什么?Document.write是直接写入到页面的内容流,如果之前没有调用document.Open。

那么浏览器会自动调用open,页面被重写innerHTML将内容写入某个DOM节点,不会导致页面全部重绘。

精准。

15,ajax的步骤Ajax 异步JavaScript和xml 能够局部刷新网页数据而不是重新加载整个网页第一步,创建xmlhttprequest对象,var xmlhttp = new XmlHTTPrequest();Xmlhttprequest对象用来和服务器交换数据Var xhttp;If(windows.XMLHttpRequest){//现在主流浏览器Xhttp = new XMLHttpRequst();}else{Xhttp =new ActiveXObject(“Mirosoft.XMLHTTP”);}第二步,xmlHTTPrequest对象的open()和send()方法发送资源请求到服务器,第三步,使用xmlhttprequest对象的responseText或responseXML属性获得服务器的响应第四部,onreadystatechange函数,当发送请求到服务器,我们想要服务器响应执行一些功能就需要使用使用onreadystatechange函数,每次xmlhttprequest对象的readystate发生改变都会触发onreadystatechange函数。

16,xml和json的区别,请用四点来形容Json相对于xml来讲,数据体积小,传输速度快Json与JavaScript更好交互,更好的数据交互Xml对数据描述性比较好Json的解析速度要远远快于XML17,box-sizing常用的属性有哪些?有哪些作用?属性值·box-sizing:content-box·box-sizing:border-box·box-sizing:inheritcontent-box·这是box-sizing的默认属性值·是CSS2.1中规定的宽度高度的显示行为·在CSS中定义的宽度和高度就对应到元素的内容框·在CSS中定义的宽度和高度之外绘制元素的内边距和边框border-box·在CSS中微元素设定的宽度和高度就决定了元素的边框盒·即为元素在设置内边距和边框是在已经设定好的宽度和高度之内进行绘制·CSS中设定的宽度和高度减去边框和内间距才能得到元素内容所占的实际宽度和高度(Q1)box-sizing: content-box|border-box|inherit;(Q2)content-box:宽度和高度分别应用到元素的内容框。

在宽度和高度之外绘制元素的内边距和边框(元素默认效果)。

border-box:元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制。

通过从已设定的宽度和高度分别减去边框和内边距才能得到内容的宽度和高度。

18,使一个300*200的div实现屏幕水平居中前面已经有一种方法了第二种方法:div{left:0px;right:0px;top:0px;bottom:0px;margin:auto;position:absolute;height:200px;width:300px;}第三种方法是利用jQuery$(window).resize(function(){$(".myblock").css({position: "absolute",left: ($(window).width() - $(".myblock").outerWidth())/2,top: ($(window).height() - $(".myblock").outerHeight())/2 });});此外在页面载入时,就需要调用resize()方法$(function(){$(window).resize();});19,三个盒子,左右定宽,中间自适应的方法有几个?第一种方法:左右采用浮动中间采用margin-left和margin-right的方法代码:<div style="width:100%;margin:0auto;"><div style="width:200px;float:right;background-color: #000000;">11</div><div style="width:200px; float:left;background-color: red;">33</div><div style="margin-left:200px;margin-right:200px;background-color:green;">22</div></div>第二种方法:左右采用绝对定位,中间采用margin-left和margin-right 代码:<div style="width:100%;margin:0auto;"><div style="width:200px;position:absolute;left:0px;background-color:#000000;">11</div><div style="width:200px; position:absolute;right: 0px;background-color:red;">33</div><div style="margin-left:200px;margin-right:200px;background-color:green;">22</div></div>第三种方法负margin值<div id="main"><div id="mainContainer">main content</div></div><div id="left"><div id="leftContainer"class="inner">left content</div></div><div id="right"><div id="rightContainer"class="inner">right</div></div>#main {float:left;width:100%;}#mainContainer {margin:0 230px;height:200px;background:green;}#left {float:left;margin-left: -100%;width:230px}#right {float:left;margin-left: -230px;width:230px;}#left .inner,#right .inner {background:orange;margin:0 10px;height:200px;}20,js有几种数据类型?其中基本数据类型有哪些?基本数据类型有Boolean,undefined,null,number,string应用类型有object,array,function21,undefined和null的区别Null 代表空值,代表一个空对象指针,一个特殊的对象值Undefined 是未定义,类型也是undefined22,http和https有什么区别?如何灵活运用?Http是http运行在TCP之上,传输内容是明文,客户端和服务器无法验证对方身份。

相关文档
最新文档