二维数组旋转90°
自己写的,感觉很low,如果想到更好的方法,再更新
var Array1=[
[1,2,3,4],
[5,6,7,8],
[1,2,3,4]
];
var cur=0;
var timer=setInterval(function(){
for (var i=0;i<Array1.length;i++) {
if(cur==Array1[i].length-1){
clearInterval(timer);
}
document.write(Array1[i][cur]+",")
}
cur++;
document.write("<br />")
},100);
查找某一个字符出现的次数
方法一
function patch(re,s){
re=eval("/"+re+"/ig")
return s.match(re).length;
}
var s = 'maomaomoaotttt';
alert(patch('m',s));
数组去重
var ary=[1,2,3,3,3,4,45,5,6,7,8,9,0,8,7,6,5,43,2,1];
for (var i=0;i<ary.length;i++) {
for (var j=i+1;j<ary.length-1;j++) {
if(ary[i]==ary[j]){
ary.splice(j,1);
j--;
}
}
}
console.log(ary);
深度拷贝数组
es6新写法
var arr = [1,2,3,4,5];
var [ ...arr2 ] = arr;
arr[2] = arr.length;
console.log(arr2);
ajax请求方式:
get、post、jsonp、delete、put、head。
js的库和类有什么区别
后续补上
js实现异步的操作有哪些
简单说几个:
1.利用setTimout实现异步
2.使用Promise对象
3.动态创建script标签
4.利用script标签提供的async
5.还有ES6里面async函数,使得异步操作变得更加方便
js 的数据类型
ES5:的基本数据类型,Undefined,Null,Number,String,Boolean。引用类型,Object
ES6:新增了数据类型Symbol,表示独一无二的值。
项目做过哪些性能优化
减少 HTTP 请求数
减少 DNS 查询
使用 CDN
避免重定向
图片懒加载
减少 DOM 元素数量
减少 DOM 操作
使用外部 JavaScript 和 CSS
压缩 JavaScript 、 CSS 、字体、图片等
优化 CSS Sprite
使用 iconfont
字体裁剪
多域名分发划分内容到不同域名
尽量减少 iframe 使用
避免图片 src 为空
把样式表放在 中
把脚本放在页面底部
欢迎补充。。。
页面导入样式时,使用link和@import有什么区别
区别1:`link`是XHTML标签,除了加载CSS外,`@import`属于CSS范畴,只能加载CSS。
css还可以定义RSS等其他事务;
区别2:`link`引用CSS时,在页面载入时同时加载;`@import`需要页面网页完全载入以后加载。
区别3:`link`是XHTML标签,无兼容问题;`@import`是在CSS2.1提出的,低版本的浏览器不支持。
区别4:`link`支持使用Javascript控制DOM去改变样式;而`@import`不支持。
for (var i=1;i<=3;i++) {
setTimeout(function(){
console.log(i) //输出4
},0)
}
let const与var的区别
var:1、可以重复声明。2、不支持块级作用域。
let:2、在同一个作用域下不可以重复声明 。2、支持块级作用域let定义的变量不能被提前声明
箭头函数
http和https的区别
post和get的区别
https://sunshinevvv.coding.me/blog/2017/02/09/HttpGETv.s.POST/
网友评论