1.介绍 js 的根本数据类型?
Undefined、 Null 、 Boolean 、 Number 、 String
2.怎么判断一个元素是否为一个数组?
办法一:isArray
var arr = [1,2,3];console.log(Array.isArray(arr));
办法二:instanceof array
var a = new Array();console.log(a instanceof Array) //true
3.innerHtml与innerText的区别?
1.innerHTML指的是从对象的起始地位到终止地位的全部内容,包含Html标签。
2.innerText 指的是从起始地位到终止地位的内容,但它去除Html标签。
<div id="test">这是一段 <span>代码</span></div>console.log(document.getElementById('test').innerHtml) //这是一段代码console.log(document.getElementById('test').innerText) //这是一段<span>代码</span>
4.get与post区别?
1.get 申请通过url传值,post申请通过body传值
2.post申请比get更平安
5.js去除反复值?
办法一: es5
Array.prototype.test=function(){ var arr=[];//创立新数组 for(var i=0;i<this.length;i++){ //遍历以后数组 if(arr.indexOf(this[i])===-1){//如果等于-1,那么也是就是新数组中没有一项和以后数组一样 arr.push(this[i])}}return arr;}//调用:ary.test()
办法二:es6
[...new Set([1,1,2,2,3,3])];//[1,2,3]
6.进行性能优化
1,图片懒加载;
2,浏览器缓存;
3,DNS优化:
DNS查问: <meta rel='dns-prefetch' href='//cdn.bootcss.com'/> <link rel='dns-prefetch' href='//s.happymmall.com'> <link rel='dns-prefetch' href='//img.happymmall.com'>
7.跨域及解决跨域的办法?
> 跨域:浏览器对js同源策略的限度。前端调用后盾数据域名不一样就造成了逾越。> 同源策略:申请的url必须与服务器下面的url处于同域上。即域名,端口号,协定一样> 解决跨域:> - 1.用基于jquery的jsonp办法通过get申请来解决,不能用post申请> -2.用基于script标签实现跨域
8.var,const,let三者区别
1.从作用域的角度:
- es5只有全局作用域和函数作用域,没有块级作用域
- const与let都是块级作用域,var是全局作用域
2.从申明变量角度:
- const只能申明赋值一次,第二次会报错;
- let申明的变量只在let命令所在的代码块内无效,let能够反复赋值,然而如果在申明let变量之前应用,会报错
文中的代码可能不肯定是最优代码,要是你有更好的代码欢送评论。喜爱的能够给我点赞激励哦!
码字不易,屏幕前的大帅比,更多干货文章请关注!!!
备注:
★局部素材来自网络,版权归原创者,如有侵权请分割删除
本文由博客群发一文多发等经营工具平台 OpenWrite 公布