只有题目版本
- 说一下JavaScript基本数据类型
- 说下js放在html不同位置的区别
- html在浏览器中的存储方式是什么
- 说说不同浏览器内核的区别
- html5和html4的区别是什么
- 浏览器中 从输入地址到最终页面被渲染完成 发生了什么
- 说说display:none 和 visibility:hidden 的区别
- 如何快速修改访问的域名对应的IP
- HTTP状态码300、400、500的区别是什么?HTTP状态码502和504的区别是什么?
- GET和POST的区别是什么
- 如何判断两个对象类型相同?instansof 和 typeof 的区别是什么
- use strict的作用是什么
- 什么是闭包
- es6多了哪些规范
- 说一下Vue的生命周期函数执行顺序是什么
- 如何解决跨域问题,jsonp为什么能解决跨域问题
- 我们的网站中突然出现了莫名其妙的广告,可能是什么原因造成的
- js中的原型链是怎么样的
我自己总结的版本
HR筛选时问的
1、说一下JavaScript基本数据类型
Number、String 、Boolean 、null、undefined
Object 是 JavaScript 中所有对象的父对象
数据封装类对象:Object、Array、Boolean、Number 和 String
其他对象:Function、arguments、Math、Date、RegExp、Error
新类型:Symbol
2、说下js放在html不同位置的区别
浏览器解析html是自上而下的,这个特性决定了放在<head>中的js代码会在页面渲染前就加载,放在<body>中或后的js代码会在页面渲染中或渲染完成加载。
3、html在浏览器中的存储方式是什么
这道题没有听懂在问什么,就当是在问storage了
- 本地存储
localStorage: 永久存储,用不失效。 - 本地存储
sessionStorage:功能上和localStorage相同,特点是网页关闭后即失效,在不同的标签页中不共享。 cookie可以设置有效期的本地存储,在有效期前不会失效。
4、说说不同浏览器内核的区别
5、html5和html4的区别是什么
中午面试的一家公司问的
1、浏览器中 从输入地址到最终页面被渲染完成 发生了什么
- DNS域名解析,将域名解析为IP地址;
- 通过 tcp 协议与服务器握手,建立连接;
- 浏览器向服务器发送请求;
- 服务器响应,若状态码为200,浏览器接受返回到HTML并开始渲染;
- 浏览器遍历HTML节点生成dom树;
- 浏览器解析 css dom树并应用它们;
- js根据渲染树计算各个节点的位置;
2、说说display:none 和 visibility:hidden 的区别
display:none; 会隐藏对应元素,在文档布局中不再分配空间,它各边的元素会合拢,就当它不存在。
visible:hidden; 会隐藏对应元素,但是在文档流中仍然保留原来的空间。
3、如何快速修改访问的域名对应的IP
修改本地host文件
4、HTTP状态码300、400、500的区别是什么?HTTP状态码502和504的区别是什么?
300
5、GET和POST的区别是什么
GET在浏览器回退是是无害的,而POST会再次提交请求
GET产生的URL地址可以用作书签,而POST不能
GET请求会被浏览器主动缓存,而POST不会
GET请求只能进行URL编码,而POST支持多种编码方式
GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留
GET请求在URL中传送的参数是有长度限制的,而POST没有
GET只接受ASCII字符,而POST没有限制
GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息
GET参数通过URL传递,POST放在Request Body中。
6、如何判断相等
==:非严格相等 console.log(0===false) // false
===:严格相等 console.log(0==false) // true
Object.is:和===类似,但是对NaN和-0,+0做了特殊处理。
详细内容可以查看MDN文档:JavaScript 中的相等性判断
7、instansof 和 typeof 的区别是什么
二者都是用来判断值是什么类型,typeof 对数组[]和对象{}返回值都为Object,无法区分数组和对象,但是instanceof可以区分。
8、use strict的作用是什么
消除代码运行的不安全之处,保证代码运行的安全。
提高编译器的效率,增加运行速度
为未来新版本的JavaScript做好铺垫
9、什么是闭包
闭包值得是一个函数可以访问另一个函数中的变量。常见的构造方法,是在一个函数内部定义另外一个函数。内部函数可以引用外层的变量;外层变量不会被垃圾回收机制回收。
注意:闭包的原理是作用域链,所以闭包访问的上级作用域中的变量是个对象,其值为其运算结束后的最后一个值。
优点:避免全局变量污染。缺点:容易造成内存泄漏。
10、es6多了哪些规范
11、说一下Vue的生命周期函数执行顺序是什么
new Vue() -> beforeCreate -> created -> beforeMount -> mounted ->beforeUpdate -> updated -> beforeDestroy ->distroyed
12、如何解决跨域问题,jsonp为什么能解决跨域问题
- 使用jsonp
- 使用ifame
- window.name、window.postMessage
- 服务器设置Access-Control-Allow-Origin
jsonp虽然也是get请求,但是没有调用XMLHttpRequest方法,所以不会执行跨域检查,JSONP本质是欺骗浏览器,规避调用XMLHttpRequest
13、我们的网站中突然出现了莫名其妙的广告,可能是什么原因造成的
14、js中的原型链是怎么样的
每个实例对象都有一个私有属性,称之为__proto__,指向它的构造函数的原型对象(prototype)。该原型对象也有一个自己的原型对象(__proto__),层层向上,直到一个对象的原型对象为null。根据定义,null没有原型,并作为这个原型链中的最后一个环节。