面试题

  • 介绍JavaScript的基本数据类型。
    —— 字符串、数字、布尔、数组、对象、Null、Undefined

  • JavaScript有几种类型的值?
    ——
    堆:基本数据类型 (number,string,Boolean,undefined)
    栈:引用数据类型(对象,数组,函数)
    typeof 只能区分出来值类型。

  • Javascript如何实现继承?
    ——

  • Javascript创建对象的几种方式?
    ——

  • Javascript作用链域?
    —— 代码在一个环境中执行,会创建变量对象的一个作用域。保证对执行环境有权访问的有序性, 内部环境可以通过作用域链访问所有的外部环境,直到全局执行环境;全局的变量对象始终都是作用域链中最后一个对象,外部的不能访问内部的任何变量和函数。

    谈谈this对象的理解。

    eval是做什么的?

    什么是window对象? 什么是document对象

  • null,undefined,is not defined,NaN 的区别?
    null 表示“没有对象”,即此处不该有值,null是真正不存在的东西。null是一个只有一个值的特殊类型。表示一个空对象引用,用typeof检测返回是object。第二种的undefined是派生自null,所以有undefined==null。
    var a=document.getElementById(“main”);
    alert(a);//null
    undefied 变量被声明了,但没有赋值;
    var a;
    alert(a); //undefied
    is not defined 翻译为 未定义的,使用未定义的变量。会报错并提示not defined,终止运行。
    alert(a); //a is not defined
    NaN 是"Not a Number " 的简写,不是数字的意思,当运算无法返回正确的数值时,就会返回NaN值。NaN 属性是代表非数字值的特殊值。
    null是一种特殊的object;NaN是一种特殊的number。
    var a;
    alert(a*2); //NaN

  • 写一个通用的事件侦听器函数(机试题)。 [“1”, “2”, “3”].map(parseInt) 答案是多少?

    关于事件,IE与火狐的事件机制有什么区别? 如何阻止冒泡?

  • 什么是闭包(closure),为什么要用它?

function fun(){
	var a = 1;
	function fun1(){
		return b = a + 2;
	}
	fun1();
	console.log(b);
}
fun();

javascript 代码中的"use strict";是什么意思 ? 使用它区别是什么?

如何判断一个对象是否属于某个类?

new操作符具体干了什么呢?

用原生JavaScript的实现过什么功能吗?

Javascript中,有一个函数,执行时对象查找时,永远不会去查找原型,这个函数是?

对JSON的了解?

   [].forEach.call($$("*"),function(a){ a.style.outline="1px solid
   #"+(~~(Math.random()*(1<<24))).toString(16) })

能解释一下这段代码的意思吗?

js延迟加载的方式有哪些?

Ajax 是什么? 如何创建一个Ajax?

同步和异步的区别?

如何解决跨域问题?

页面编码和被请求的资源编码如果不一致如何处理?

服务器代理转发时,该如何处理cookie?

模块化开发怎么做?

AMD(Modules/Asynchronous-Definition)、CMD(Common Module
Definition)规范区别?

requireJS的核心原理是什么?(如何动态加载的?如何避免多次加载的?如何 缓存的?)

JS模块加载器的轮子怎么造,也就是如何实现一个模块加载器?

谈一谈你对ECMAScript6的了解?

ECMAScript6 怎么写class,为什么会出现class这种东西?

异步加载的方式有哪些?

documen.write和 innerHTML的区别?

DOM操作——怎样添加、移除、移动、复制、创建和查找节点?

.call() 和 .apply() 的作用和区别?

数组和对象有哪些原生方法,列举一下?

JS 怎么实现一个类。怎么实例化这个类

JavaScript中的作用域与变量声明提升?

如何编写高性能的Javascript?

那些操作会造成内存泄漏?

JQuery的源码看过吗?能不能简单概况一下它的实现原理?

jQuery.fn的init方法返回的this指的是什么对象?为什么要返回this?

jquery中如何将数组转化为json字符串,然后再转化回来?

jQuery 的属性拷贝(extend)的实现原理是什么,如何实现深拷贝?

jquery.extend 与 jquery.fn.extend的区别?

jQuery 的队列是如何实现的?队列可以用在哪些地方?

谈一下Jquery中的bind(),live(),delegate(),on()的区别?

JQuery一个对象可以同时绑定多个事件,这是如何实现的?

是否知道自定义事件。jQuery里的fire函数是什么意思,什么时候用?

jQuery 是通过哪个方法和 Sizzle 选择器结合的?(jQuery.fn.find()进入Sizzle)

针对 jQuery性能的优化方法?

Jquery与jQuery UI有啥区别?

JQuery的源码看过吗?能不能简单说一下它的实现原理?

jquery 中如何将数组转化为json字符串,然后再转化回来?

jQuery和Zepto的区别?各自的使用场景?

针对 jQuery 的优化方法?

Zepto的点透问题如何解决?

jQueryUI如何自定义组件?

需求:实现一个页面操作不会整页刷新的网站,并且能在浏览器前进、后退时正确响应。给出你的技术实现方案?

如何判断当前脚本运行在浏览器还是node环境中?(阿里)

移动端最小触控区域是多大?

jQuery 的 slideUp动画 ,如果目标元素是被外部事件驱动, 当鼠标快速地连续触发外部元素事件,
动画会滞后的反复执行,该如何处理呢?

把 Script 标签 放在页面的最底部的body封闭之前 和封闭之后有什么区别?浏览器会如何解析它们?

移动端的点击事件的有延迟,时间是多久,为什么会有? 怎么解决这个延时?(click 有 300ms
延迟,为了实现safari的双击事件的设计,浏览器要知道你是不是要双击操作。)

知道各种JS框架(Angular, Backbone, Ember, React, Meteor, Knockout…)么?
能讲出他们各自的优点和缺点么?

Underscore 对哪些 JS 原生对象进行了扩展以及提供了哪些好用的函数方法?

解释JavaScript中的作用域与变量声明提升?

那些操作会造成内存泄漏?

JQuery一个对象可以同时绑定多个事件,这是如何实现的?

Node.js的适用场景?

(如果会用node)知道route, middleware, cluster, nodemon, pm2, server-side
rendering么?

解释一下 Backbone 的 MVC 实现方式?

什么是“前端路由”?什么时候适合使用“前端路由”? “前端路由”有哪些优点和缺点?

知道什么是webkit么? 知道怎么用浏览器的各种工具来调试和debug代码么?

如何测试前端代码么? 知道BDD, TDD, Unit Test么? 知道怎么测试你的前端工程么(mocha, sinon,
jasmin, qUnit…)?

前端templating(Mustache, underscore, handlebars)是干嘛的, 怎么用?

简述一下 Handlebars 的基本用法?

简述一下 Handlerbars 的对模板的基本处理流程, 如何编译的?如何缓存的?

用js实现千位分隔符?(来源:前端农民工,提示:正则+replace)

检测浏览器版本版本有哪些方式?

What is a Polyfill?

做的项目中,有没有用过或自己实现一些 polyfill 方案(兼容性处理方案)?

我们给一个dom同时绑定两个点击事件,一个用捕获,一个用冒泡。会执行几次事件,会先执行冒泡还是捕获?

使用JS实现获取文件扩展名?

Webpack热更新实现原理?

请介绍一下JS之事件节流?

什么是JS的函数防抖?

ECMAScript6 相关

Object.is() 与原来的比较操作符“ ===”、“ ==”的区别?

ES6是如何实现编译成ES5的?

css-loader的原理?

文章内容仅博主个人观点,仅供参考!
这里写图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值