文档章节

某公司前端面试题整理

smile_微笑
 smile_微笑
发布于 2017/09/11 21:08
字数 1146
阅读 28
收藏 0
  • 1、有一个鼠标点击按钮事件,alert,要求在执行完页面某些操作(在点击函数之外)后,再次点击不再有反映
 ele.addEventListener("click",function(e){
     alert("xxx");
     //执行某些操作
     //解除绑定
     ele.removeEventListener("click")
 ,false)
  • 2、类数组和数组的区别?常见类数组?类数组API有哪些
  类数组拥有length属性
  但是类数组不能像数组一样使用slice,splice,sort,reverse等数组的api,数组所具有的方法
  常见的类数组有arguments 和 querySelectAll返回值、getElementById等dom元素节点查询返回值
  
  //判断一个数组是否是类数组:
  function isArrayLike(o) {
      if (o &&                          
          typeof o === 'object'&&isFinite(o.length)&&o.length >= 0 &&o.length===Math.floor(o.length)&&o.length < 4294967296)            
          return true;                        
      else{
          return false;
      }
  类数组转换为数组:
  Array.prototype.slice.call(arrayLike)

  
  • 3、页面布局的方式有哪些
  flex布局,grid布局,table布局(现在基本不用了),div+css布局
  • 4、原型链,fn A()如何继承fn B()
  es6: class A extend B{
          constructor(){
            super()
          }
       }
       
  es5: function A(){
         B.call(this)
       }     

5、ng特点,优势

 使用ng主要是为了减轻前端js代码量,增加js的复用。而且ng是一个很炫的框架。
 1、angular使用了传统的mvc开发模式
 2、数据绑定
 3、依赖注入
 4、模块开发

6、你自己常用框架有哪些

  react、Vue、jquery、angular、extjs、
  • 1.有没有用过webpack打包工具
  webpack应该算是现在最主流,也最火热的前端文件打包工具.
  
  webpack的使用依赖于node.js , 使用之前必须安装好node 
  
  webpack主要就是用来分析你的项目结构,找到js模块 浏览器不能直接运行的拓展语言(ts,scss,less...) 将其打包为浏览器支持的语法.
  
  webpack可以使整个项目模块化,让我们可以把复杂的程序细化为小的文件
  
  webpack配置文件里面有很多插件(plugin),插件是用来拓展webpack功能的,他们会在整个构建过程中生效,执行相关的任务.
  
  webpack 配置文件里也有loaders,loaders是在打包构建过程中用来处理源文件的(JSX,Scss,Less..)一次处理一个。
  
  webpack有一个入口文件,并从这个文件中你的项目依赖的文件,进行分析处理,构建成为想要的浏览器可以识别的文件。
  • 2.如何设置手机端和电脑端访问接口(如:客户访问网页时,何时展示手机版网页,何时展示pc端网页)
    //使用js通过UA来识别上是否为移动端页面,然后跳转到移动界面
    var userAgentInfo = navigator.userAgent;
    var Agents = ["Android", "iPhone",
                "SymbianOS", "Windows Phone",
                "iPad", "iPod"];
    var flag = true;
    for (var v = 0; v < Agents.length; v++) {
        if (userAgentInfo.indexOf(Agents[v]) > 0) {
            flag = false;//跳转至移动端的页面
            break;
        }
    }
    //否则是pc端页面
  • 3.公司团队成员,前端及后端人数,工作模式怎样,公司用的后端语言是什么?前后端如何协调工作
  根据项目的大小划分人数,前后端人数一样多
  现在主流的后端开发语言:java、php、nodejs、python、ruby
  现在主流的开发模式都是前后分离开发,这样可以前后端进行接口制定后并行开发,后端负责接 口文档(小公司可能没有),待页面和接口都写完后,进行接口联调
  • 4.cookie和storage的区别
 cookie数据始终在同源的http请求中携带,cookie在浏览器和服务器间来回传递。
 sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。
 cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下。
 存储大小限制也不同,cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标识。
 sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。
 sessionStorage:仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持;
 localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;
 cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。
 作用域不同,sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面;
 localStorage 在所有同源窗口中都是共享的;
 cookie也是在所有同源窗口中都是共享的。

© 著作权归作者所有

共有 人打赏支持
smile_微笑
粉丝 2
博文 55
码字总数 69100
作品 0
深圳
程序员
私信 提问
2018 前端面试准备

前端面试常见问题按知识点分类整理 前端面试常考问题整理,按模块知识点分类,持续完善中... Front-end-Developer-Questions by Modules and knowledge 前端面试经典问题:CSS 中居中的几种方...

掘金官方
2017/12/14
0
0
前端相关整理

整理一下最近在网上收集的前端面试相关资料,包括预备知识、书籍、面试考点、面经等。前端方面资料其实太多太多,就光从知乎、前端乱炖、w3cplus 等网站就能找到很多,所以针对细节不发散,仅...

Seas0n_
2016/03/01
106
0
一道很有代表性的前端面试题

一个小游戏的公司的前端面试题 效果演示.gif 考点 基础的布局知识, 左侧浮动脱离标准流, 右侧margin-left 设置为左侧宽度,即可快速实现左右布局 媒体查询, 媒体查询可以根据屏幕尺寸的变化,...

木子昭
01/23
0
0
前端开发-学习资料库

前端开发-学习资料库 包含前端技术参考手册,前端编码规范,前端博客及社区,前端面试题,以及整理前端开源的一些开源书籍。 http://f2edocs.com 持续更新中... 参考、使用的项目 ECMAScript...

郭小铭
2015/12/01
170
0
jQuery

前端基础进阶:全方位详细图解面向对象、构造函数、原型与原型链 这是一篇非常适合新手理解关于面向对象一切的文章,解答了为什么我们会使用构造函数与原型,构造函数与原型的本质以及 new ...

掘金官方
01/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

[LintCode] Linked List Cycle(带环链表)

描述 给定一个链表,判断它是否有环。 样例 给出 -21->10->4->5, tail connects to node index 1,返回 true。 这里解释下,题目的意思,在英文原题中,tail connects to node index 1 表示的...

honeymose
8分钟前
0
0
Android :报错Your project path contains non-ASCII characters.

报错内容如下 Your project path contains non-ASCII characters. This will most likely cause the build to fail on Windows. Please move your project to a different directory. See ht......

lanyu96
19分钟前
2
0
Nginx平滑添加模块

Nginx已经编译安装并运行了一段时间, 然后某一天, 发现需要用到某个模块但当初没有编译, 这个时候怎么办呢? 卸载重新安装肯定可以的, 如果Nginx版本没有变更的话, 则有一个相对平滑的方法来添...

老菜鸟0217
24分钟前
2
0
spark安装测试

spark安装测试 由于本地已经安装好hadoop相关组件,所以本文是在yarn的基础上对spark进行安装及测试 确保hdfs及yarn成功启动,hadoop版本为2.7.3 安装scala,由于本人安装的spark是2.4.0,对应...

-九天-
38分钟前
3
0
周末看完了《电能计量自动化技术》

整体质量还行,下面分别将心得记录如下: 第一章:发展历程可以看看,现在算是智能电网阶段 2:讲主站系统。以文件进行各模块的交互很值得思考,尤其是批量数据,多团队合作的情况下。另外线...

max佩恩
58分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部