让前端飞

前端面试题收集

2018-01-23  本文已影响79人  _于易
function unique(arr){
  return [...new Set(arr)];
}

利用遍历查找

function unique(arr){
  var arr2 = []
  for(let i=0;i<arr.length;i++){
    if(arr2.includes(arr[i]) === false){
      arr2.push(arr[i])
    }
  }
  return arr2
}

利用对象的属性查找

function unique(arr){
  var arr2 = []
  var obj = {}
  for(let i=0;i<arr.length;i++){
    if(!obj[arr[i]]){
      arr2.push(arr[i])
      obj[arr[i]] = 1
    }
  }
  return arr2
}
var xhr = new XMLHttpRequest();
xhr.onreadystatechange=function(){
  if (xhr.readyState==4 && xhr.status==200){        
   document.getElementById("myDiv").innerHTML=xhr.responseText;
    }
}
xhr.open("GET","/try/ajax/ajax_info.txt",true);
xhr.send();

get和post的区别就是get提交的数据包含在url里所以有大小限制,而且会被看到,安全性不高。post数据大小无限制,安全性高一点。get能被缓存,post不行;GET只允许 ASCII 字符。POST没有限制。也允许二进制数据;GET后退按钮/刷新无害,POST数据会被重新提交;GET历史参数保留在浏览器历史中。POST参数不会保存在浏览器历史中。

function myAsyncFunction(url) {
  return new Promise((resolve, reject) => {
    const xhr = new XMLHttpRequest();
    xhr.open("GET", url);
    xhr.onload = () => resolve(xhr.responseText);
    xhr.onerror = () => reject(xhr.statusText);
    xhr.send();
  });
};
上一篇 下一篇

猜你喜欢

热点阅读