https://docs.qq.com/doc/DU3lEREp6cXpnSEpK?_t=1609850771316(嘻嘻网址)
https://github.com/febobo/web-interview (一水网址)
https://juejin.cn/post/6844903636271644680#heading-40(二水网址)
https://juejin.cn/post/6844903976693940231#heading-65(三水网址)
顶尖的react 组件库 Material-UI
//这个就是值传递,拷贝了副本// 当x 是基本数据类型的时候//1.obj 在堆空间的a属性 指向了 栈空间的 x ?然并卵 哦 ,首先x会复制一份副本出来 堆空间obj的a属性其实就是引用了x 复制出来的副本,所以当 栈空间的x的值 改变的时候,obj的a属性的值还是没有改变。var x =20;var obj ={a:x};x ='憨憨';console.log(obj) // {a:20};// 当 变量是 数组的时候var test = [1,2,3];var testObj = {b:test};test[0] =100;console.log(testObj) // {b:[100,2,3]}//当变量是 对象的时候var y = {c:123,d:345}var obj = {z:y};y.c= 'string';console.log(obj) // {z:{c:'string',d:345}}
// 当x 是基本数据类型的时候var x =20;var obj =[1,2,3,44];x ='憨憨';console.log(obj) // [1,2,3,44];// 当 变量是 数组的时候var test = [1,2,3];var testObj = [4,5,6,test];test[0] =100;console.log(testObj) // [4,5,6,[100,2,3]]//当变量是 对象的时候var y = {c:123,d:345}var obj =[1,2,3,y];y.c= 'string';console.log(obj) //[1,2,3,{c:'string',d:345}]
