面试常见问题收藏

7 阅读1分钟

1、get和post哪个更安全?

get请求是安全的。get请求是绝对安全的。因为get请求只是为了从服务器上获取数据。不会对服务器造成威胁。

post请求是危险的。因为post请求是向服务器提交数据,如果这些数据被恶意提交,服务器是很危险的。

注意:我这里说的安全是相对而言,事实上它们都不安全,从用户角度post更安全,从服务器角度get更安全。 比如get请求,会把数据显示在url上。post请求则比较危险。

getpost
浏览器回退无害的会再次提交请求
编码只能进行url编码支持多种编码方式
缓存会被浏览器主动cache不会,除非手动设置
历史参数会被完整保留在浏览器历史记录里参数不会被保留
数据长度参数是有长度限制没有限制
数据类型只接受ASCII字符没有限制
可见性参数在url中用户可见,不能用来传递敏感信息不可见,放在Request body中
书签可添加书签不可添加书签

2、 不引入第三个变量实现数据交换

方法一

let a = 1,
  b = 2;
[a, b] = [b, a];
console.log(a, b); // 2 1

方法二

let a = 1,
  b = 2;
b ^= a
a ^= b
b ^= a
console.log(a, b); // 2 1

3、 实现x==1&&x==2&&x==3

方法一

let x = {
    val:0,
    toString:()=>{
        x.val++;
        return x.val;
    }
}
console.log(x==1&&x==2&&x==3); // true

方法二

let x = {
  val:0,
  valueOf:()=>{
      x.val++;
      return x.val;
  }
}
console.log(x==1&&x==2&&x==3); // true