当前位置: 首页 > news >正文

医院网站建设中标网上销售培训课程

医院网站建设中标,网上销售培训课程,网站做好了怎么上线,成套小说网站模板一、回顾变量类型 基础类型 boolean(bool) number string null undefined 引用类型 object ​ function ​ array 基本类型与引用类型的存储 基本类型一般存储在 栈 (栈小) 栈一旦确认 大小就固定 可能会造成溢出栈一般是先进后出用于存储…

一、回顾变量类型

基础类型

boolean(bool)

number

string

null

undefined

引用类型

object

​ function

​ array

基本类型与引用类型的存储

基本类型一般存储在 栈 (栈小) 

  1. 栈一旦确认 大小就固定 可能会造成溢出
  2. 栈一般是先进后出
  3. 用于存储基础类型以及引用类型的堆地址
  4. 运行速度快

引用类型一般存储在 堆(堆大)

  1. 堆大小不确认 可以扩展
  2. 不允许js直接操作堆数据
  3. 无序存储
  4. 由于其大小不固定 顺序不固定 导致 速度慢

堆栈示意图

栈内容当程序运行完毕 栈就空了

但是堆内容不见的一定就空 可能会出现 没有任何指针指向堆内容 导致都变成垃圾

所以我们需要手动指向 null让其销毁

二、深浅拷贝

深浅拷贝分两种情况 引用类型 基础类型

基础类型都是深拷贝

引用类型 大多数是浅拷贝 也可以变成深拷贝

深拷贝 地址不同 一个改变另一个并不跟随发生变化就是深拷贝 拷贝内容 地址不同

浅拷贝 地址相同 一个改变另一个随之改变 就是浅拷贝 拷贝的是地址

 
  1. 深拷贝
  2. let a = 10;
  3. let b = a;
  4. console.log(1,a,b,a===b);
  5. a = 88;
  6. console.log(2,a,b,a===b);
  7. console.log("======================");
  8. 浅拷贝
  9. let obj1 = {
  10. n : 88
  11. }
  12. let obj2 = obj1;
  13. console.log(1,obj1,obj2,obj1===obj2);
  14. obj1.a = 99;
  15. console.log(2,obj1,obj2,obj1===obj2);
 
  1. 实现深拷贝 array object
  2. 1.JSON.stringify JSON.parse
  3. let obj1 = {
  4. n : 88
  5. }
  6. let obj2 = JSON.parse(JSON.stringify(obj1)); //深拷贝
  7. console.log(1,obj1,obj2,obj1===obj2);
  8. obj1.a = 99;
  9. console.log(2,obj1,obj2,obj1===obj2);
  10. 2. ... 解构
  11. let arr1 = [1,5,6,7];
  12. let arr2 = [...arr1];
  13. console.log(1,arr1,arr2,arr1===arr2);
  14. arr1[0] = "222"
  15. console.log(2,arr1,arr2,arr1===arr2);
 
  1. // 伪拷贝 一般情况下是 第一层深拷贝 后面层浅拷贝
  2. let arr1 = [1,2,3,[6,7,8]];
  3. let arr2 = arr1.slice();
  4. console.log(1,arr1,arr2,arr1 === arr2);
  5. arr1[0] = 180;
  6. arr1[3][0] = 666;
  7. console.log(2,arr1,arr2,arr1 === arr2);
  8. let arr1 = [1,2,3,[6,7,8]];
  9. let arr2 = arr1.concat();
  10. console.log(1,arr1,arr2,arr1 === arr2);
  11. arr1[0] = 180;
  12. arr1[3][0] = 666;
  13. console.log(2,arr1,arr2,arr1 === arr2);
 
  1. let menu1 = {
  2. menu: "菜单",
  3. item:{
  4. type: "menu",
  5. name: "子菜单"
  6. }
  7. }
  8. // Object.assign(目标,源)
  9. let menu2 = Object.assign({},menu1)
  10. console.log(1,menu1,menu2,menu1 === menu2);
  11. menu1.menu = "编辑"
  12. menu1.item.name = "保存"
  13. console.log(2,menu1,menu2,menu1 === menu2);

想要解决真正意义上的拷贝咋办

扁平化 嵌套的多层想办法给他变成地扁平化 递归思想

递归思想

普通的 按正常处理

深度的(引用类型 )按递归处理 直到没有引用类型为止··

 
  1. let woniu = {
  2. name: "张三",
  3. age: 8,
  4. school: [
  5. {
  6. id: 1,
  7. name: "清华校区"
  8. },
  9. {
  10. id: 2,
  11. name: "北大校区"
  12. },
  13. {
  14. id: 3,
  15. name: "上交校区"
  16. },
  17. {
  18. id: 4,
  19. name: "国科大校区"
  20. }
  21. ],
  22. subject: {
  23. web: "web前端",
  24. java: "java后端",
  25. python: "python",
  26. ui: "设计"
  27. }
  28. }
  29. function copyData(source) {
  30. // 定义一个容器 容器需要根据源来决定 源是对象 你就是你对象 源是数组你就是数组
  31. let result = Array.isArray(source) ? [] : {};
  32. for (const item in source) { // 遍历源 对象与数组的统一遍历方式是 for in
  33. if (typeof source[item] === "object") { //区分引用类型与普通类性别 引用类型继续处理(遍历)基本类型直接返回
  34. result[item] = copyData(source[item])
  35. } else {
  36. result[item] = source[item];
  37. }
  38. }
  39. return result; // 最终将结果返回
  40. }
  41. let fanyun = copyData(woniu);
  42. console.log(1,woniu,fanyun);
  43. woniu.subject.web = "web大前端"
  44. woniu.school[0].name = "总校区"
  45. console.log(2,woniu,fanyun);

 

http://www.wooajung.com/news/32151.html

相关文章:

  • 公司起名字大全免费三个字南宁百度快速排名优化
  • 网站上线如何做公司名字网站如何优化排名
  • 郑州外贸网站建设及维护餐饮营销案例100例
  • wordpress 插件更新最新seo自动优化软件
  • 我国政府网站建设线上宣传推广方案
  • 市住房城乡建设管理委门户网站免费发布广告的平台
  • 海口 做网站百度竞价专员
  • 诗歌网站开发意义网站外链购买
  • 网站问卷调查怎么做优秀网站网页设计分析
  • 建设银行网站 一带一路公关公司的主要业务
  • 网站 展示板seo排名点击器
  • 牛商网做的网站南京高端品牌网站建设
  • 做网站公司排名电话疫情最严重的三个省
  • 洛阳php网站开发如何进行网站推广?网站推广的基本手段有哪些
  • 自己做网站能赚钱吗推广渠道怎么写
  • wordpress获取文章内容seo经典案例分析
  • 网站备案号查询网百度推广的四种收费形式
  • WordPress建站详细过程神马推广
  • 网站制作公司上海免费一键生成个人网站
  • 怎么优化网站源码关键词中国网络营销网
  • 游戏类企业网站模板广州seo推广运营专员
  • 湖南做网站广东全网推广
  • dw做的网站设计seo教程自学入门教材
  • 网站建设委托外包协议书seo分析师招聘
  • 应用软件设计过程石家庄seo关键词
  • 网站域名服务器aso排名服务公司
  • xd网页设计教程搜索引擎优化答案
  • 营销qq购买seo公司的选上海百首网络
  • 深圳专业网站建设排名百度搜题网页版入口
  • 电子商务网站建设资讯怎么做网络营销推广