面试题(一)

2018-10-22  本文已影响0人  Anne720

1、html添加样式的几种方式

1)链接外部样式文件:样式文件需额外引入,应在<head.../>元素中增加<link.../>子元素

2)导入外部样式文件:与链接外部样式功能差不多,只是语法存在差别。需要在<style.../>元素中使用@import来执行导入。@import "outer.css”

3)内部样式: 需要放在<style.../>元素定义,每份css样式只控制一份文档

4)行内样式:将样式具体定义到具体的HTML元素,每份css样式只控制单个HTML元素

2、form标签的anctype属性的取值及区别是什么?

3、描述cookies\sesssionStorage\localStorage的区别

注:同源指的是"三个(协议,域名,端口)相同"。协议是http://,域名是www.example.com,端口是80(默认端口可以省略)

4、JavaScript创建对象可以使用哪些方式?

https://www.jb51.net/article/117164.htm

5、null/undefined的区别

6、在下面的代码中,数字1-4会以什么顺序输出?为什么会这样输出?

(浅析JavaScript单线程执行机制)

7、请简述原生ajax请求的执行过程

https://blog.csdn.net/qq_empire/article/details/81736664

原生态Ajax使用的步骤,最后告诉面试官,我们在工作中是使用jQuery来实现Ajax请求和处理的。在回答的时候尽量详尽,包括方法的参数的个数,顺序和作用,以免被面试官抓住不放。不给面试官提问的机会,那你的回答就牛逼了!

Ajax是什么

我理解Ajax 是一种异步请求数据的一种技术,对于改善用户的体验和程序的性能很有帮助。

在jquery中

var configObj = {

      method  //数据的提交方式:get和post

      url  //数据的提交路劲

      async  //是否支持异步刷新,默认是true

      data    //需要提交的数据

      dataType  //服务器返回数据的类型,例如xml,String,Json等

      success    //请求成功后的回调函数

      error  //请求失败后的回调函数

    }

$.ajax(configObj);//通过$.ajax函数进行调用。

原生Ajax的使用

1)创建XMLHttpRequest对象,也就是创建一个异步调用对象

2)创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息

3)设置响应HTTP请求状态变化的函数

4)发送HTTP请求

5)获取异步调用返回的数据

6)使用JavaScript和DOM实现局部刷新

8、列举使用过的css/jquery选择器

.基本

·#id 根据给定的ID匹配一个元素。例如:$("#id")

·element 根据给定的元素名匹配所有元素。例如:$("div")·

.class 根据给定的类匹配元素。例如:$(".style1");

·* 匹配所有元素。例如:$("*")

·selector1,selector2,selectorN 将每一个选择器匹配到的元素合并后一起返回。例如:$("#id,div,.style1")

9、块级标签与行内标签的区别(<span>标签和<p>标签的区别)

块级元素具有以下特点:

 ①总是在新行上开始,占据一整行;

 ②可以设置width,height,margin,padding属性;

 ③宽度始终是与浏览器宽度一样,与内容无关;

 ④它可以容纳内联元素和其他块元素。

行内元素的特点:

①和其他元素都在一行上;

②设置width,height无效(可以设置line-height),水平方向的padding-left和padding-right都会产生边距效果,padding/margin上下无效

③宽度只与内容有关;

④行内元素只能容纳文本或者其他行内元素

10、请列举常见浏览器内核名称及其私有属性css前缀

11、请列举css中常用的几种定位方式

12、列举flex不居中,容器的主要属性

常用属性:

flex-direction(主轴方向。默认row)

flex-wrap(项目在容器轴线排不下是否换行。 默认nowrap)

flex-flow(是前两个属性的缩写。 默认值未row nowrap)

justify-content(项目在容器主轴上对齐方式。默认flex-start)

align-items(项目在交叉轴上如何对齐。默认flex-start)

align-content(多根轴线的对齐方式。默认flex-start)

13、实现响应式布局的方式有哪些?

响应式布局:简而言之,就是一个网站能够兼容多个终端——而不是为每个终端做一个特定的版本。这个概念是为解决移动互联网浏览而诞生的。

实现响应式布局的三种方式

1. CSS3-Media Query(最简单的方式,但是无法满足很多需求)    

2. 借助原生Javascript(成本高,不推荐使用)

3. 第三方开源框架(比如bootstrap,可以很好的支持浏览器的响应式布局)

有哪些响应式前端框架?Foundation、skeljs、Grid System、Bootstrap

14、请简述对MVVM框架技术的了解,有哪些主流的MVVM框架?

MVVM是Model-View-ViewModel的缩写。mvvm是一种设计思想。Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑;View 代表UI 组件,它负责将数据模型转化成UI 展现出来,ViewModel 是一个同步View 和 Model的对象。

主流的MVVM框架: vue, avalon, angular 

15、队列和栈的区别,是否了js解相关函数?

队列是先进先出,有出口和入口

栈就像一个箱子,先进后出

队列实现:

shift() : 删除集合中第一个元素,并返回这个元素的值

unshift() :在集合开头添加新元素(一个或多个均可),并返回新的集合的长度

堆栈实现:

pop() :删除集合的最后一个元素,并返回元素的值

push() :将元素添加到集合的结尾

16、用js编写函数,确定一个字符串是不是回文

https://blog.csdn.net/charles_tian/article/details/79923512

17、用js编写斐波那契数列(1、1、2、3、5、8、13、21、34、···)的计算函数

斐波那契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)。

上一篇下一篇

猜你喜欢

热点阅读