• 什么是JavaScript?
JavaScript是基于对象和对象事件的脚本语言。他不需要在语言环境下编写,因为浏览器内置了解析程序;
  • JavaScript和ECMAScript的关系?
ECAScript是JavaScript的规范,JavaScript是EACScript的实现
  • 变量的命名规则?
 只能由数字、字母、_ $组成不能以数字开头不能使用保留字 关键字要做到见名思意使用小驼峰命名方式命名
  • window.onload的作用?
当页面结构写在js之后时 就需要浏览器页面加载完毕之后再来加载- js 这时候就用到window.onload了
  • js数据类型?
    基本数据类型
 Number  String  Boolean  null undefined引用数据类型Array   object  function
  • null和undefined区别?
 首先两者数据类型不同undefined是指未定义 变量未初始化。null是什么都没有 空
  • 运算符的种类?
 赋值运算符   逻辑运算符  比较运算符  三目运算符  算数运算符

var a=0;var b=a++;a b最后的结果是?

 b=0;a=1;

与=的区别?

   ==是比较等式两边的内容===严格比较 比较内容和数据类型
  • console.log(0.1+0.2==0.3)?
答案是false 因为计算机只识别0和1 但是我们所认识的进制计算机并不认识 就需要吧小数转成二进制,在转化过程中会有一些偏差 导致小数运算不准确
  • NaN会在什么样的情况下出现?举例出现这种情况的代码。
在数值运算时候会出现
不是一个数 比如  console.log(Number('10px'));
  • 列举三种强类型转换和两种隐形类型转换。
  强类型转换  Number()  String()  Boolean() paseInt()  paseFloat()隐性转换      10*'10'=100;  10=“10”
  • document.write()与innerHTML的区别?
 document.write()是打印什么东西到页面中   innerHTML是 获取/赋值 某个元素的内容
  • brank和continue的区别,举例说明?
 brank是退出循环  continue是仅跳过本次循环
  • 使用for循环打印由星号组成的菱形?

  • this对象的解释?

 this在不同环境下含义不同,在事件函数中指调用者,其他函数中一般指的是window
  • 声明函数的方式有哪些?分别举例。
- 匿名函数    function fn(){}
- 表达式声明  var a=function(){}
- 构造函数声明   var  a=new  Function()
  • 使用函数计算50。100。150。200。1000以内所有奇数的和?
  • 写一个获取非行间样式的函数?
      function(对象,属性){if(对象.currentStyle){return 对象.currentStyle[属性];}else{return getComputedStyle(对象,null)[属性];}}
  • 说说你对作用域链的理解?
  在当前作用域下找不到变量的时候,他需要往外层寻找变量直到找到 这个过程就称为作用域链,(只会向外层寻找)
  • 请解释变量提升?
- 浏览器会自动全局扫描提升函数和变量,这叫做预加载,在预加载时候变量只会声明不会初始化,所以在变量初始化之前使用变量会出现undefined,函数预加载是把函数优先赋值给事件或者函数名,所以函数在函数声明之前可以用;
  • 函数声明和表达式声明的区别?
函数声明    创建一个新的函数 不调用的话不会执行,在全局可以调用
表达式声明  只能在声明之后才能使用
  • 定时器的分类?他们的区别及用法是什么?

setInterval()    间歇式定时器    setTimeout()   延时定时器    setInterval()每隔多久掉一次函数   setTimeout()只延时调用一次     用法setInterval(函数,延时时间)setTimeout(函数,延时时间)
  • 生成4位随机验证码?
- //假设数组里有大小写和数字var arr=[0,1,2,3,4,5,6,7,8,9,"a","b","c","d","e","f","g","z"];var num="";for(var a=0;a<4;a++){var v=parseInt(arr.length*Math.random());num += arr[v];}console.log(num);
  • js有哪些内置对象?
Math对象   Date对象   Array对象   String对象  Number对象
  • 把下面字符串去重,并去掉特殊字符按照数字在前字面在后的顺序排序字符串“231432dsagfg&dsfdsgfd&4324324&fdgd54645”
var a="1233fddfd&3434fdsaff&454545&4545444rfdsfds&545gdsgs";//去粗数字字母之外的var b=a.replace(/[^a-zA-Z0-9]/ig,"");//切割成数组在排序b=b.split("").sort();//去重var arr=[];for(var i=0;i<b.length;i++){if(arr.indexOf(b[i])==-1){arr.push(b[i]);}}console.log(arr);
  • 截取字符串“abcdefg”中的def?
var a="abcdefg";console.log(a.substr(3,3))
  • 判断一个字符串中出现次数最多的字符,并统计次数?
var str="1233fddfd&3434fdsaff&454545&4545444rfdsfds&545gdsgs";var obj={};//定义一个空数组for(var a=0;a<str.length;a++){var b=str[a];if(obj[b]==undefined){//如果第一次进来obj[b]=1;}else{//已经有过这个元素obj[b]=obj[b]+1}}//遍历找出最多的var max=0;var attr=""for(var a in obj){if(obj[a]>max){max=obj[a];}}for(var a in obj){if(obj[a]==max){attr=a;}}console.log(obj);console.log("最多的"+attr+"次数"+max)
  • 数组方法pop()push()unshift()shift()?
pop()在数组末删除   返回删除的内容puch()在数组末尾添加元素  返回数组长度unshift()在前面添加     返回数组长度shift()在前面删除      返回删除的内容
  • split()join()的区别?
split()是以什么吧字符串分割成数组join()是以什么吧数组合并成字符串
  • 编写至少两种函数去重的方法?
遍历删除和  空对象查找有没有这个内容 有的话就要
  • 【“1”,“2”,“3”】.map(parseInt)答案是多少?
    1,NaN,NaN
  • 冒泡算法排序?
var arr=[10,2,56,87,8,3,5,75,9,21,63,25,3];for(var a=0;a<arr.length;a++){for(var i=0;i<arr.length-a;i++){if(arr[i]>arr[i+1]){var c=arr[i];arr[i]=arr[i+1];arr[i+1]=c;}}}
  • 数组的随机排序?
var arr=[1,2,3,4,5,6,7,8]arr.sort(function(){return Math.random()-0.5;})  console.log(arr)
  • 找出数组中的最大值,arr[1,2,3,4,5,6,7,8];?
var b;arr.forEach(function(a){b=Math.max(a)})console.log(b)
  • DOM常用的API有哪些?
  • html和DOM有区别吗?

html是超文本语言 dom文档对象模型 是w3c推荐的标准编程接口

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

window对象是整个浏览器、 document是页面 是window的一个属性自身也是一个对象

  • offsetWidth,clientWidth,scrollTop的区别?

宽+边框+内边距 宽+内边距 上面折叠部分的高

  • 如何获取url地址中搜索内容?

window.location.search()

  • 事件、ie与火狐的事件机制有什么区别?

ie滚动事件用的是onmousewheel
火狐必须用addEventListaner(“DOMMouesescroll”,fn,true)

  • 如何阻止冒泡?

e=e||window.event
e.stopPropagation?e.stopPropagation:e.cancelBubble=true;

  • 事件绑定和普通事件有什么区别?
普通事件 只可以写一次在写会被覆盖绑定事件可以添加多个事件函数  支持冒泡 和捕获机制
  • 使用原生js给元素绑定两个click事件?
    addEventListener(“click”,fn1,false)addEventListener(“click”,fn2,false)
  • 解释一下事件流?
页面触发事件的时候  会在元素节点之间按照特定的顺序传播 所有经过的节点的对象都可以接受到事件触发指令,这个过程就叫事件流事件的传播机制分为冒泡机制和捕获机制  冒泡机制是往外层传递  捕获机制是由外向内传递
  • 什么是时间委托?事件委托的原理是什么?他有哪些应用场景?
事件委托是吧事件委托给父元素利用其事件流的捕获机制来触发事件原理是事件可以通过捕获机制传输 父及元素也可以收到事件触发请求某些元素存在不确定性加不上事件 或相同事件触发者有相同特征的时候
  • 给10000个li添加点击事件?
for(var a=0;a<1000;a++){li[a].onclick=function(){}};
  • 拖拽效果中有几种事件?
鼠标按下事件  onmousedown鼠移动事件    onmousemove鼠标抬起事件  onmouseup
  • 什么是回调函数?
回调函数是把函数作为参数传给函数,当某种事件触发或者条件瞒住就会执行
  • new操作符具体干了什么?
 隐式创建了对象把该对象实例的 _proto_指向构造函数的_prototype_将this指向该空对象 为该对象添加属性和方法隐式输出该对象
  • 用过哪些设计模式?
  • call()和apply()的区别和作用?
 call的参数是对象 函数传参中间用逗号隔开 apply只有两个参数 第一个是对象第二个是参数参数为数组类型  改变this指向 传入对象之后目标对象this指向就指向了传入对象
  • JavaScript对象的几种创建方法?
1.字面量创建  2.实例创建  3.工厂模式创建  4.构造函数创建  5.原型创建 6.构造函数+原型创建
  • JavaScript对象的几种继承方法?
对象冒充   原型链继承  对象冒充+原型链继承  寄生式继承
  • JavaScript原型,原型链?
js美声明一个function都有porototype原型,prototype原型是函数的默认属性 它本事也是一个对象
在函数创建的过程中由js编译器自动添加。每生产一个function对象的时候就有一个原型prototype
原型中存储对象共享的属性和方法。
原型链:创建函数_prototype_--实例_proto_ --创建函数的_prototype_
  • 如何判读一个对象是附属于某个类?
对象  instanceOf  类型  返回值是true/false
  • 使用正则表达式验证邮箱?
  • 请用js去除字符串空格var str=“ sadsad dsa frgtrfvf 654 kkkc243”?
split()空格分隔在join()拼接
  • 判断字符串是否是这样组成的,第一个必须是字母,后面可以是字母,数字,下划线,总长度5-20?
  • 闭包的概念、特点以及使用规则?
能够读取其他函数内部变量的函数(在函数里面嵌套函数,内部函数可以访问外部函数变量),在本质上闭包是将函数内部和外部连接起来的桥梁作用:闭包中使用的变量会一直存储在内存中,类似全局变量 ,避免全局污染,可以解决全局变量的问题。
  • 创建sjax的过程?
function(fs,url,fn,data){  //变量为 传输类型 地址 函数 传输数据var a=new XMLHttpRequest();if(fs.toLowerCase()==get&&data!=undefined){url=url+"?"+data}a.open(fs,url,true);if(fs==post||fs==POST&&data!=undefined){a.send(data)}else{ a.send() };a.onreadyStatechange==function(){if(a.readyState==4&&a.Status==200){fn(a.responseText)}}
}
  • ajax请求时候get和post方式的区别,什么时候用post?
    get传输数据小 写在地址后面  安全性较低  历史浏览里可以查看post传输数据大 写在send()里 相对安全性较高一般传输的时候用post 接收时候用get
  • ajax请求时,如何解释josn数据?
是返回的数据  这个数据是json字符串类型数据可以用json.parse()来转成json对象类型
  • 同步和异步的区别?
同步需要前面代码执行完才能执行自身异步与同步代码不干预,在同步代码执行时也可以执行
  • 常见的http状态码?
1xx  2xx 成功 3xx 客户端需要进一步操作 4xx 请求错误 5xx 服务器错误
  • eval的作用是?

  • 解释touch.js以及使用场景?

  • touch.js如何监听事件?有哪些事件?

  • touch.js事件配置?

  • 使用touch.js快速搭建移动端页面?

前端ES5/JavaScript高频面试题 及答案相关推荐

  1. 10年测开经验面试35K公司后,吐血整理出高频面试题和答案!

    一:前言 在当今竞争激烈的职场环境中,拥有丰富的测试开发经验已成为众多企业青睐的重要条件之一.而在面试过程中,高频面试题更是能够考察应聘者的实际能力和知识水平.本文作者具备10年的测试开发经验,并通过 ...

  2. JavaScript常见面试题和答案

    原文地址:https://www.yisu.com/zixun/117910.html 这篇文章将为大家详细讲解有关JavaScript常见面试题和答案,小编觉得挺实用的,因此分享给大家做个参考,希望 ...

  3. JavaScript基础面试题及答案

    JavaScript基础面试题及答案① 1 介绍JavaScript的基本数据类型 3 jQurry使用建议 4 Ajax使用 5 JavaScript有几种类型的值? 6 栈和堆的区别? 7 Jav ...

  4. 前端周报:前端面试题及答案总结;JavaScript参数传递的深入理解

    1.2017前端面试题及答案总结 |掘金技术征文 "金三银四,金九银十",用来形容求职最好的几个月.但是随着行业的饱和,初中级前端er就业形势不容乐观. 行业状态不可控,我们能做的 ...

  5. Web前端面试之JavaScript典型面试题及答案

    JavaScript是Web前端三要素之一,是互联网上最流行的脚本语言.一个合格的Web前端工程师一定要掌握JavaScript,而企业在招聘前端人员时也会考察其对JavaScript的掌握.接下来就 ...

  6. 5年大厂Java高频面试题及答案整理(二)

    31.String s = new String("xyz");创建了几个字符串对象? 答:两个对象,一个是静态区的"xyz",一个是用new创建在堆上的对象. ...

  7. 前端社招高频面试题(一)(附答案)

    手写发布订阅 class EventListener {listeners = {};on(name, fn) {(this.listeners[name] || (this.listeners[na ...

  8. 前端javaScript高频面试题——持续更新

    目录 1.== 和 ===区别,分别在什么情况使用 2. 判断数据类型的方法 3.说说JavaScript中的数据类型?存储上的差别? 4.JavaScript中的操作符 5.var,let,cons ...

  9. 字节前端二面高频面试题

    与缓存相关的HTTP请求头有哪些 强缓存: Expires Cache-Control 协商缓存: Etag.If-None-Match Last-Modified.If-Modified-Since ...

最新文章

  1. GDC2016 Epic Games【Bullet Train】 新风格的VR-FPS的制作方法
  2. python可视化水平箭头_Python交互图表可视化Bokeh:2. 辅助参数
  3. ASP.NET常用的26个优化性能方法
  4. 在字符串末尾添加字符使其成为回文串
  5. linux 系统安装 升级glibc库2.14
  6. LeetCode 383. Ransom Note
  7. 编译vuejs html,VueJs(2)---VueJs开发环境的搭建和讲解index.html如何被渲染
  8. java 和_java中的和=是什么意思
  9. 【转】Linux之printf命令
  10. windows10小白第一次装,严格参考教程(转)
  11. k8s 部署spring cloud项目
  12. 等保2.0三级安全要求
  13. G.652与G.655单模光纤分类及对比
  14. case 书写的要求与思路
  15. SpringBoot项目遇到AopAutoConfiguration matched: - @ConditionalOnProperty (spring.aop.auto=true)错误
  16. mac上开启隐藏文件
  17. python魔法方法指南_2011年最热门的20种方法指南
  18. electron-vue 添加右下角通知图标
  19. tinymce上传图片php,图片文件上传
  20. Win10系统如何打开Guest账户?

热门文章

  1. linux打开.cfg文件,cfg文件怎么打开?cfg是什么文件?
  2. Java:项目license证书控制
  3. 计算机科学教学指导委员会,关于进一步加强高等学校计算机基础教学的意见暨计算机基础课程教学基本要求(试行) 教育部高等学校计算机科学与技术教学指导委员会制 9787040188097...
  4. 安装Ubuntu 16.04出现的各种坑爹问题总结
  5. STM32仿真器ST-Link仿真
  6. Android 发布Google Play 应用市场(2021.10.18)
  7. 再次聚焦收入分配制度改革
  8. 计算机备份与恢复教案,15数据备份与恢复(教案)
  9. 老男孩python第14期_python学习之老男孩python全栈第九期_day014知识点总结
  10. JAVA远程调试功能