中国社交二十年

———— / BEGIN / ————

作者:Hiro,微信公众号:宏观互联网

1995年8月初,清华学生ace用台湾大学椰林风情站的系统,在实验室的一台386/Linux上架设了BBS。

阅读全文

vue生命周期和react生命周期对比

react和vue的业务逻辑是差不多,vue在react上封装了更简洁的方法,使用起来更加的便捷,如:提供了便捷的指令(v-for,v-if,v-model),还提供了更多的属性(computed,watch),我还是比较喜欢用react的,更接近js原生,更容易于理解它。

vue的生命周期

一 如下图所示(很清晰)初始化、编译、更新、销毁

vue生命周期

阅读全文

js深度拷贝解决双向绑定问题(包含es6方法)

当我们利用v-bind:来绑定属性向子组件传递对象的时候,有时候我们需要子组件改变的时候不改变父组件的值,一般可以利用JSON.stringify(JSON.parse(jsonstr))将传递来的对象赋值到子组件自己的data,这样做的原理是对传过来的值重新赋予一个空间,从而解决双向绑定。,但是es6有一个深度赋值的方法也可以解决这个问题, let obj= Object.assign({}, obj)也可以解决。

阅读全文

ajax和fetch、axios的优缺点以及比较

前端是个发展迅速的领域,前端请求自然也发展迅速,从原生的XHR到jquery ajax,再到现在的axios和fetch。

jquery ajax

1
2
3
4
5
6
7
8
$.ajax({
type: 'POST',
url: url,
data: data,
dataType: dataType,
success: function() {},
error: function() {}
})

阅读全文

关于数组中forEach() 、map()、filter()、reduce()、some()、every()的总结

1、forEach()

1
2
3
4
5
var arr = [1, 2, 3, 4];
arr.forEach((item, index, arr) = > {
console.log(item) //结果为1,2,3,4
})
//forEach遍历数组,无返回值,不改变原数组,仅仅只是遍历、常用于注册组件、指令等等。

阅读全文

跨域问题携带cookie加入withCredentials报错原因以及解决方案

1.跨域允许
解决方法:服务器发送允许客户端发送源的报文头
header(‘Access-Control-Allow-Origin:’.$_SERVER[“HTTP_ORIGIN”]);
2.客户端无法携带跨域cookie
这个时候就可以在extjs中加入withCredentials

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$.ajax({
url: 'http://120.111.111.123/setcookie.php',
method: 'POST',
params: {
'text': 'hello world'
},
withCredentials: true,
success: function(transport){
// do something
},
failure: function(transport){
alert("Error: " - transport.responseText);
}
});

阅读全文

输入框input类型为number时,去掉上下箭头样式

1
2
3
4
5
6
7
8
9
10
11
<input type="number" ...>

<style>
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none;
}
input[type="number"]{
-moz-appearance: textfield;
}
</style>

阅读全文

前端面试之hybrid

image.png

阅读全文

前端面试之组件化

image.png

阅读全文

前端面试之MVVM浅析

image.png

阅读全文