WEB前端面试选择题解答(共36题)

2017-12-11
阅读 12 分钟
12.5k
第1题 {代码...} A:["1", "2", "3"] B:[1, 2, 3] C:[0, 1, 2] D:other 解释:该题目的答案为:[1, NaN, NaN];即选择D。该题用到了map与parseInt;parseInt() 函数的语法是parseInt(string, radix);string 必需。要被解析的字符串。radix可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。如果省略该参数或其值...

WEB前端面试题汇总整理02

2017-12-11
阅读 5 分钟
2.1k
例如:当给父元素内第一个浮动元素设置margin-left或margin-right的时候,margin属性会加倍,此时需要添加属性display:inline.这样能避免双倍边距

WEB前端面试题汇总整理01

2017-12-11
阅读 19 分钟
3.5k
1.JS找字符串中出现最多的字符 例如:求字符串'nininihaoa'中出现次数最多字符 {代码...} 结果如下: {代码...} 方法二,当然还可以使用reduce方法来实现: {代码...} 想详细了解reduce()方法,可以参考:《JS进阶篇--JS数组reduce()方法详解及高级技巧 》 2.JS实现九九乘法表 jQuery实现方式: {代码...} 实现结果如图...

WEB之常见工作问题总结(1-20)

2017-12-11
阅读 6 分钟
4.7k
1.web扫码登录怎么实现,思路 {代码...} ajax监控后台的流程:生成二维码后 {代码...} 整体思路: 前端调用后台生成二维码的API,获取到二维码图片和所包含的信息(通常是一个唯一ID) 前端检测(通过轮询或者websock,自己选择)是否有手机扫码,通过调用后台接口API,参数为上面的唯一ID 手机扫描二维码登陆,手机端可...

JS基础篇--[转]JS ES6中的箭头函数(Arrow Functions)使用

2017-12-10
阅读 2 分钟
1.6k
转载这篇ES6的箭头函数方便自己查阅,同时该篇文章有小细节错误已修改。 ES6可以使用“箭头”(=>)定义函数,注意是函数,不要使用这种方式定义类(构造器)。 一、语法 1.具有一个参数的简单函数 {代码...} 2.没有参数的需要用在箭头前加上小括号 {代码...} 3.多个参数需要用到小括号,参数间逗号间隔,例如两个数字...

JS进阶篇--JS之console.log详解以及兄弟姐们邻居方法扩展

2017-12-10
阅读 6 分钟
8.5k
console.log,前端常用它来调试分析代码,你可以在任何的js代码中调用console.log(),然后你就可以在浏览器控制台看到你刚才打印的常量,变量,数组,对象,表达式等的值。

JS基础篇--JS实现数组去重方法整理

2017-12-08
阅读 5 分钟
3.4k
只要相邻的‘ a’ 元素, 都没被删除,splice不但可以删除元素本身, 还同时可以减少数组长度( 就是抹去一切痕迹),这样导致后续的数组元素会代替已经删除的元素的位置, 但是循环是按照数组的下标按顺序删除, 这样就会漏掉迁移的元素。

一段关于JS中this应用奇葩代码引发的思考

2017-11-16
阅读 3 分钟
1.3k
{代码...} 首先我们得有如下几个概念: 执行上下文:每次当控制器转到ECMAScript可执行代码时,即会进入一个可执行上下文,参考文献:深入理解JavaScript系列(11):执行上下文(Execution Contexts) this:this的创建是在 “进入执行上下文” 时创建的,在代码执行过程中是不可变的,参考文献:深入理解JavaScript系列...

JS基础篇--JS之汉字与Unicode码的相互转化

2017-11-16
阅读 2 分钟
14.8k
有时候,我们在给后端传递变量的的值中有汉字,可能由于编码的原因,传递到后端后变为乱码了。所以有时候为了省事或者其它特殊要求的时候,会把传递的汉字转换成Unicode编码后再进行传递。

[工具配置]requirejs 多页面,多入口js文件打包总结

2017-11-14
阅读 7 分钟
4k
这个${resource}是服务端控制传递到页面中的,在本地调试这个${resource}的值就是/resource/v1/;那么到了线上这个值就是/dist/v1/了。所以这个js线上跟线下的配合就完成了。本地调试调用的是/resource/v1/下面的资源,在线上就是/dist/v1/下的资源,当然这个v1其实是多余的,当时主要是为了做版本发布添加的版本号。

[工具配置]使用requirejs模块化开发多页面一个入口js的使用方式

2017-11-14
阅读 2 分钟
2.3k
知道requirejs的都知道,每一个页面需要进行模块化开发都得有一个入口js文件进行模块配置。但是现在就有一个很尴尬的问题,如果页面很多的话,那么这个data-main对应的入口文件就会很多。理论这样其实也没什么,但是到后面用grunt进行合并压缩就会有很多入口js,虽然这个入口js都把配置的模块内容都压缩到里面了,但是各...

在 javascript 中,为什么 [1,2] + [3,4] 不等于 [1,2,3,4]?

2017-11-14
阅读 2 分钟
1.5k
问题 我想将一个数组追加到另一个数组的后面,于是我在 firebug 编写如下代码: {代码...} 但是,出乎意料,它却输出了: {代码...} 而没有输出我期望的: {代码...} 解答 JavaScript 的 + 运算符有两个目的: 将两个数相加; 将两个字符串连接。 规范并没有定义 + 运算符在数组上的行为,所以javascript 首先 把数组转...

JS无法获取display为none的隐藏元素的宽度和高度的解决方案

2017-11-14
阅读 5 分钟
3.7k
在实际开发中会遇到确实需要获取隐藏元素的宽高,这儿所说的隐藏元素是display为none的元素。 可使用jQuery Actual Plugin插件来完成,其源码如下: {代码...} 使用实例: {代码...} 插件地址:[链接]

angluarjs中页面初始化的时候会出现语法{{}}在页面中问题

2017-11-14
阅读 2 分钟
1.2k
angluarjs中页面初始化的时候会出现语法{{}}在页面中问题,也即是页面闪烁问题。出现这个的原因是:由于页面或者组件需要渲染加载数据,浏览器和angluarjs渲染页面需要消耗一定的时间,虽然这个时间很多,可能肉眼看不出来,但有的时候加载时间比较长的时候,特别是网络等原因。这样就看到了在渲染前的带有语法的页面。...

[总结]web常用状态码整理

2017-11-14
阅读 1 分钟
2.3k
304:Not Modified 未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源

小tips:JS之浅拷贝与深拷贝

2017-11-14
阅读 1 分钟
1.4k
浅拷贝: {代码...} 深拷贝: {代码...} 浅拷贝的问题:如果父对象的属性等于数组或另一个对象,那么实际上,子对象获得的只是一个内存地址,而不是真正拷贝,因此存在父对象被篡改的可能。 下面来个实例: {代码...} 存在的问题,如果经常改写这个函数的方法extendCopy,内部再调用这个方法名就会出错,还得修改一下这...

小tips:JS严格模式(use strict)下不能使用arguments.callee的替代方案

2017-11-14
阅读 1 分钟
30.9k
结果:Uncaught TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them

小tips:JS之按位取反,语法标签label,正则表达式中replace的0,1是什么?

2017-11-14
阅读 2 分钟
3.7k
Javascript 按位取反运算符 (~) ,对一个表达式执行位非(求非)运算。如 ~1 = -2; ~2 = -3;来看看~1的计算步骤:

小tips:JS数值之间的转换,JS中最大的Number是多少?,JS == 与 === 的区别

2017-11-14
阅读 1 分钟
2.9k
JS数值之间的转换 Number(), parseInt(),parseFloat() Number()函数的转换规则如下: 1.如果boolean值,true和false将分别被转换为1和0 2.如果是数字值,只是简单的传入和返回 3.如果是null值,返回0 4.如果是undefined,返回NaN 因此,这儿可以考察Number()方法对null,undefined转化返回的结果是什么? JS中最大的Num...

小tips:JS中this操作执行像(object.getName = object.getName)()操作改变了this

2017-11-14
阅读 1 分钟
1.4k
第二行代码在调用这个方法之前给它加了一个括号。虽然加了一个括号后,就好像只是在引用一个函数,但是this的值得到了维持,因为object.getName和(object.getName)的定义是相同的。

小tips:JS中typeof与instanceof用法

2017-11-14
阅读 2 分钟
3.5k
介绍 typeof typeof用以获取一个变量或者表达式的类型,typeof一般只能返回如下几个结果: number boolean string function(函数) object(NULL,数组,对象) undefined。 例子: {代码...} 我们可以使用typeof来获取一个变量是否存在,如if(typeof a!="undefined"){},而不要去使用if(a)因为如果a不存在(未声明)则...

JS基础篇--JS之表单提交时编码类型enctype详解

2017-11-04
阅读 5 分钟
3k
form的enctype属性为编码方式,常用有两种:application/x-www-form-urlencoded和multipart/form-data,默认为application/x-www-form-urlencoded。

JS基础篇--JS之onunload、onbeforeunload事件详解

2017-11-03
阅读 2 分钟
30.7k
onunload,onbeforeunload都是在刷新或关闭时调用,可以在<script>脚本中通过 window.onunload来调用。区别在于onbeforeunload在onunload之前执行,它还可 以阻止onunload的执行。

CSS基础篇--CSS/CSS3中的原生变量var详解

2017-10-24
阅读 4 分钟
5.7k
使用语法 首先我们先来看一个例子:html代码: {代码...} css代码: {代码...} 实现效果: 结果是该DOM元素背景变成了黑色。 CSS中原生的变量定义语法是:--*,变量使用语法是:var(--*),其中*表示我们的变量名称。关于命名这个东西,各种语言都有些显示,例如CSS选择器不能是数字开头,JS中的变量是不能直接数值的,但...

vue+vuecli+webpack中使用mockjs模拟后端数据

2017-10-24
阅读 4 分钟
10.5k
前言 使用mockjs可以事先模拟数据,前提是和后端约定好了数据接口,怎样的数据。使用mock就可以生成你要的数据了,从而实现开发时前后端分离。 其主要功能是: 基于数据模板生成模拟数据。 基于HTML模板生成模拟数据。 拦截并模拟 ajax 请求。 语法规范 Mock.js 的语法规范包括两部分: 1.数据模板定义规范(Data Templa...

CSS基础篇--CSS3 calc实现滚动条出现页面不跳动

2017-10-17
阅读 2 分钟
5.2k
calc()从字面我们可以把他理解为一个函数function。其实calc是英文单词calculate(计算)的缩写,是css3的一个新增的功能,用来指定元素的长度。比如说,你可以使用calc()给元素的border、margin、pading、font-size和width等属性设置动态值。为何说是动态值呢?因为我们使用的表达式来得到的值。不过calc()最大的好处就是...

JS进阶篇--命名空间模式解析

2017-10-09
阅读 6 分钟
9.2k
在JavaScript中,命名空间可以帮助我们防止与全局命名空间下的其他对象或变量产生冲突。命名空间也有助于组织代码,有更强的可维护性和可读性。本文旨在探讨JavaScript里的几种常见命名空间模式,为我们提供一个思路。

Vue2 几种常见开局方式

2017-09-05
阅读 3 分钟
2.4k
然后问友的问题是:【template: '<App/>'】这句是什么意思?是指使用app.vue模板吗?但在vue没有看到这样的用法哦!里面只有:1 template:'#xxx' 根据id获取2 template:'<xx>.....<xx>' 直接使用请问有没有相关的文档解释呢?

webpack+vuecli打包生成资源相对引用路径与背景图片的正确引用

2017-09-04
阅读 1 分钟
7.6k
资源相对引用路径 问题描述 一般情况下,通过webpack+vuecli默认打包的css、js等资源,路径都是绝对的。 但当部署到带有文件夹的项目中,这种绝对路径就会出现问题,因为把配置的static文件夹当成了根路径,那么要解决这种问题,就得引用相对路径。 解决办法 打开webpack.prod.conf.js 找到output:增加 publicPath: './...

CSS基础篇--CSS中IE浏览器的hasLayout,IE低版本的bug根源

2017-08-28
阅读 3 分钟
4.8k
hasLayout是IE特有的一个属性。很多的ie下的css bug都与其息息相关。在ie中,一个元素要么自己对自身的内容进行计算大小和组织,要么依赖于父元素来计算尺寸和组织内容。当一个元素的hasLayout属性值为true时,它负责对自己和可能的子孙元素进行尺寸计算和定位。虽然这意味着这个元素需要花更多的代价来维护自身和里面的...