1.封装一个ajax
function ajax(opts){
var xhr=new XMLHttpRequest();
var urlStr=''
for(var key in opts.data){
urlStr +=`${key}=${opts.data[key]}&`
}
urlStr=urlStr.substring(0,urlStr.length-1);
if(opts.type.toLowerCase()==='get'){
xhr.open('GET',opts.url+'?'+urlStr,true);
xhr.send();
}
if(opts.type.toLowerCase()==='post'){
xhr.open('GET',opts.url+'?'+urlStr,true);
xhr.sendRequestHeader('Content-type','application/x-www-form-urlencoded');
xhr.send(urlStr);
}
xhr.onreadystatechange=function(){
if(xhr.readyState==4){
if(xhr.status==200){
opts.success(JSON.parse(xhr.responseText));
}
}else if(xhr.readyState==4&&xhr.status!==200){
opts.error()
}
}
}
btn.addEventListener('click',function(){
ajax({
url:'1.json',
type:'POST',
success:function(data){
console.log(data);
},
error:function(error){
console.log('发生了错误...');
}
})
},false)
复制代码
2.判断两个对象相等
var obj={
a:1
}
var obj1={
a:1
}
var obj2={
a:2
}
复制代码
3. 经典引用
var a = {n: 1};
var b = a;
a.x = a = {n: 2};
console.log(a.x)
console.log(b.x)
复制代码
4.经典闭包
var data = [];
for (var i = 0; i < 3; i++) {
data[i]=(function(j){
return function(){
console.log(j);
}
})(i)
}
data[0]();
data[1]();
data[2]();
2 for(var i=0;i<btns.length;i++){
btns[i].onclick = (function(tmpI){
return function(){
console.log(tmpI+1);
}
})(i);
}
复制代码
5.arguments 对象
function bar() {
Constructor = [].shift.call(arguments);
console.log( Constructor);
console.log(arguments);
for(var i=0;i<arguments.length;i++){
console.log(arguments[i]);
}
}
bar(1,2,3);[1,2,3]
arguments = {
0: 'foo',
1: 'kevin',
2: 18,
length: 3
}
var args = [];
for(var i = 1, len = arguments.length; i < len; i++) {
args.push(`${arguments[i]}`)
}
console.log(args.toString());
复制代码
6.事件冒泡
function bindEvent(el,type,fn){
el.addEventListener(type,fn)
}
var a=document.getElementById('link');
bindEvent(a,'click',function(e){
e.stopPropagation();
e.preventDefault();
alert('3')
})
复制代码
7. 解决跨域的几种方式 CMD Common.js区别 性能优化 安全性 xss 事件节流
转载于:https://juejin.im/post/5ce219cbf265da1b7e100845
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)