目录
1、get和post哪个更安全?
get请求是安全的。get请求是绝对安全的。因为get请求只是为了从服务器上获取数据。不会对服务器造成威胁。
post请求是危险的。因为post请求是向服务器提交数据,如果这些数据被恶意提交,服务器是很危险的。
注意:我这里说的安全是相对而言,事实上它们都不安全,从用户角度post更安全,从服务器角度get更安全。比如get请求,会把数据显示在url上。post请求则比较危险。
get | post | |
浏览器回退 | 无害的 | 会再次提交请求 |
编码 | 只能进行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