我爱编程

前端知识大盘点

2018-08-09  本文已影响0人  豆豆_2ffa

常见的ie6 的bug:内部盒模型超出父级时,父级被撑大解决方法:父标签使用overflow:hidden ; li之间会有间距 解决方法:float: left; img于块元素中,底边多出空白 解决方法:父级设置overflow: hidden;

什么时候要清除浮动?那种清除浮动方式最好:在css中任何元素都可以浮动,浮动元素会脱离标准流,清除浮动的方式:额外标签法,溢出隐藏法,伪元素法,双伪元素法

Flex布局是什么:display:flex是弹性布局;

如何测试移动端页面:谷歌浏览器手机开发模式;

如何居中div,如何居中一个浮动元素,一个绝对定位的div居中:普通居中:margin: 0 auto  父级设置相对定位,子级position:absolute;left: 50%;transform: translateX(-50%);

全屏滚动的原理是什么?用到css哪些属性?那个插件:所谓全屏滚动,就是网页的一个模块占据一屏的宽高;动画的属性;fullpage插件;

Css3有哪些新属性:video视频  audio音频 rotate旋转 translate()位移scale()缩放

怎么让不同高度的div垂直居中:父级设置相对定位,子级position:absolute;left: 50%;transform: translateY(-50%);

移动端适配的原理,能用什么方式适配:使用rem单位来做网页适配;

Css优化提高性能的方法有哪些,语义化是指:慎重使用高性属性:浮动、定位;充分利用css继承属性,减少代码量; 抽象提取公用样式,减少代码量; 语义化:该用什么标签就用什么标签;

在网页中的字体应使用奇数还是偶数:偶数 比例关系ui设计缘故 ie解析缘故;

Zepto的理解:zepto号称迷你版jQuery,并且成为移动端dom操作库的首选;

常见的jS框架有哪些:Zepto.js  bootstrap;

添加 删除替换插入到某个节点的方法:document.createElement();  创建元素

document.createTextNode();//创建文本节点   appendChild()  添加removeChild() 移除 replaceChild()  替换insertBefore() 插入

为什么需要写:它是指示web浏览器关于页面使用哪个 HTML 版本进行编写的指令。

请描述一下 cookiessessionStorage  localStorage 的区别Cookies是服务器在本地机器上存储的小段文本,LocalStorage:浏览器关闭了数据仍然可以保存下来,并可用于所有同源(相同的域名、协议和端口)窗口(或标签页)永久存储,永不失效,除非手动删除sessionStorage:数据存储在窗口对象中,窗口关闭后对应的窗口对象消失,存储的数据也会丢失。就是浏览器窗口关闭就失效了。

如何实现浏览器内多个标签的通信:localstorge在一个标签页里被添加、修改或删除时,都会触发一个storage事件,通过在另一个标签页里监听storage事件,即可得到localstorge存储的值,实现不同标签页之间的通信。

js中实现继承的原理类继承,原型继承,混合式继承

apply:调用一个对象的一个方法,用另一个对象替换当前对象。最多只能有两个参数

call:调用一个对象的一个方法,用另一个对象替换当前对象。它可以接受多个参数

typeof:获取一个变量是否存在

强制类型转换和隐式类型转换:通过String(),Number(),Boolean()函数强制转换;字符串加数字,数字就会转成字符串。.数字减字符串,字符串转成数字。

null和undefined 有什么区别undefined看作是空的变量,而null看作是空的对象。

eval()函数可计算某个字符串,并执行其中的的JavaScript代码。

new:创建了一个空对象,并且this变量引用该对象, 属性和方法被加入到this引用的对象中;

原生Ajax状态值及状态码:200成功 304客户端已经执行了GET,但文件未变化

400错误请求,如语法错误 0 - (未初始化)还没有调用send()方法1 - (载入)已调用send()方法,正在发送请求2 - (载入完成)send()方法执行完成,3 - (交互)正在解析响应内容4 - (完成)响应内容解析完成,可以在客户端调用了

Jsonp不支持POST跨域,所以会自动转成GET动态添加一个标签,而script标签的src属性是没有跨域的限制的

new object()的原理创建一个Object对象并将其传入Object()函数中。

项目的性能优化:从用户角度而言,优化能够让页面加载得更快、对用户的操作响应得更及时,能够给用户提供更为友好的体验。从服务商角度而言,优化能够减少页面请求数、或者减小请求所占带宽,能够节省可观的资源。

New 实例化对象三部曲:创建一个新对象;把这个新对象的__proto__指向构造函数的prototype属性;把构造函数中的this上的属性全部添加到新对象;返回这个新对象

this的理解什么时候用:js的一个关键字。它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用,那就是this指的是,调用函数的那个对象。作为构造函数调用this就指这个新对象。 apply调用,

this指的就是这第一个参数。

复制节点,查找节点: 克隆节点clonechild 查找节点:getElementsByName()

Src和href的区别:src用于替换当前元素,href用于在当前文档和引用资源之间确立联系。

indexOf()方法可返回某个指定的字符串值在字符串中首次出现的位置。

数组的去重:

js将时间戳转yyyy-mm-dd

Js的垃圾回收机制:

JS的垃圾回收机制是为了以防内存泄漏,内存泄漏的含义寻找到不再使用的变量,并释放掉它们所指向的内存。标记清除。引用计数。

 

创建AJAX 的过程:

screen对象用于获取用户的屏幕信息。

Navigator对象 通常用于检测浏览器与操作系统的版本

history对象记录了用户曾经浏览过的页面

location用于获取或设置窗体的URL

instanceof就是判断一个实例是否属于某种类型

constructor返回当前的构造函数

post和get区别:get是从服务器上获取数据,post是向服务器传送数据。

Insetbox-shadow 盒子内阴影

display:table-cell多行文字垂直居中

float: none:取消元素浮动

删除元素:

增加元素:

替换元素

 

冒泡排序

循环输出1-100的和

循环输出1-100的乘积

输出1-100能被2整除的数

javaScript中如何检测一个变量是一个String类型typeof(obj) === "string"

去除空格:$.trim()方法;

this的典型应用:

Typeof:用来检测基本数据类型;

Indexof:某个指定的字符串值在字符串中首次出现的位置

统计字符串中字母个数或统计最多字母数

正则表达式邮箱验证:

Display:flex布局实例:

遍历对象的属性:

Css中的伪类和伪元素:

事件委托是利用冒泡原理实现的;

js中的循环语句可分为三种:1.while;2.do……while;3.for

图片垂直对齐: vertical-align:middle;

只有0代表false

eval()函数可计算某个字符串,并执行其中的的JavaScript 代码

localStorage常用的方法:localStorage.clear()  localStorage.setItem() localStorage.getItem() localStorage.removeItem()

JSON的理解:它是一种数据交换的文本格式,而不是一种编程语言,用于读取结构化数据;

js中的3种弹出式消息提醒:alert("警告")  confirm("确认");prompt("信息输入")

请简述jsnp的跨域原理:同源策略是浏览器的一种安全策略,所谓同源是指,域名,协议,端口号完全相同,不同源则为跨域;ajax请求受同源策略影响,不允许进行跨域请求,而script标签src属性中的链接却可以访问跨域的js脚本,利用这个特性,服务端不再返回JSON格式的数据,而是返回一段调用某个函数的js代码,在src中进行了调用,这样实现了跨域。

去掉一个字符(变量)的重复元素:

实现文本溢出省略号:

闭包就读取其他函数内部变量的函数;

闭包案例:

引用类型数据 比如:Object、Array 、Function 、Data等;

javaScriptsplit与join的区别 :split()用于分割字符串,返回一个数组;join()用于连接多个字符或字符串,返回值为一个字符串;

如何判断一个变量是否是数组:instanceof;

点透问题:有时候用户只是想滑动屏幕,却触发了touchstart事件;不要混用touch和click,只用touch,只用click;

Es6知识点:

let和var的区别:let有花括号作用域,但是没有变量的提升;

Const:是常量,不可以重新赋值

=>函数:是没有this,当箭头函数外部有 function的时候

模块化的规范是什么:

npm是什么:包管理工具,以jQuery为例子,可以远程使用npm直接下载,也可以把自己的代码推动送出

CORS:是W3C出的一个标准,其思想是使用自定义的HTTP头部让浏览器与服务器进行沟通,从而决定请求或响应是应该成功,还是应该失败。因此,要想实现CORS进行跨域,需要服务器进行一些设置,同时前端也需要做一些配置和分析。本文简单的对服务端的配置和前端的一些设置进行分析。

获取url中的参数:

字符串的截取:

判断数组有哪些方法  a instanceof Array      a.constructor == Array

深拷贝案例:

继承的方法:

前端mvvm和后端的mvc概念:

前端:  m(渲染的数据)   v(页面结构)   vm(调度者) vm提供了双向数据绑定

后端:m(模型)  v(试图)    c(控制器)

说一说CSS3中的动画,animation中可以取哪些值 :

vue中的数据双向绑定是如何实现的:

登录状态怎么使用cookie保持,最好的方法是什么:

手写代码判断是否是浏览器环境:

上一篇下一篇

猜你喜欢

热点阅读