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

软件开发工具通常也称为什么工具seo的优缺点

软件开发工具通常也称为什么工具,seo的优缺点,网站建设找盛誉网络,网站维护能自己做吗一、Rest 参数与 Spread 语法 1.rest参数 ...变量名:收集剩余的参数并存进指定数组中,需要放到最后; 2.arguments变量 // arguments,以参数在参数列表中的索引作为键,存储所有参数,以类数组对象的形式输出所有函数参数 // 箭头…

一、Rest 参数与 Spread 语法

1.rest参数

...变量名:收集剩余的参数并存进指定数组中,需要放到最后;

2.arguments变量

        // arguments,以参数在参数列表中的索引作为键,存储所有参数,以类数组对象的形式输出所有函数参数

        // 箭头函数没有arguments和this对象,会去上级函数找,没有上级函数就报错

        function fn3(a, b, ...c) {

            console.log(arguments);

            console.log(Array.from(arguments)); // 转为数组

        }

        fn3(1, 2, 3, 4, 5, 6);

3.Spread 语法

使用...,把任意可迭代对象“展开”到参数列表中

        // 可传入多个可迭代对象

        const arr2 = [9, 77, 85, 12, 33];

        console.log(Math.max(...arr, ...arr2)); // 85

        // 可以与常规值结合使用

        console.log(Math.max(1, ...arr, 2, ...arr2, 25)); //85

        // 合并数组

        let sumArr = [0, ...arr, ...arr2];

        // 常用的复制数组方法

        let arr4 = [...arr];

使用 spread 语法将任意可迭代对象转换为字符数组

        let str = "Hello";

        console.log([...str]);  // ['H', 'e', 'l', 'l', 'o']

        let s = new Set();

        s.add("css").add("html");

        console.log([...s]);  // ['css', 'html']

        let m = new Map();

        m.set("name", "jack").set("age", 20)

        console.log([...m]);  // [Array(2), Array(2)]

4.浅复制/深复制

浅复制:

        // “001” => ["a","b","c"];// const arr = [1, "001", 2, 3];const arr = [1, ["a", "b", "c"], 2, 3];// 浅复制,修改一个影响到另一个const newArr = [...arr]; // [1, "001", 2, 3]; newArr[1][0] = "X";console.log(arr);//[1, ['X', 'b', 'c'], 2, 3]

深复制方法一:

        // “001” => ["a","b","c"];// const arr = [1, "001", 2, 3];const arr = [1, ["a", "b", "c"], 2, 3];// 深复制,修改一个不会影响到另一个const newArr = JSON.parse(JSON.stringify(arr)); // [1, "001", 2, 3];newArr[1][0] = "X";console.log(newArr);  //[1, ['X', 'b', 'c'], 2, 3]console.log(arr);  //[1, ['a', 'b', 'c'], 2, 3]

 方法二方法三:

 <script src="../../../lodash.min.js"></script><script>//  深度复制复杂对象 (面试题)const o1 = { a: undefined, b: function () { }, list: [1, 2, 3] };// 方法一:JSON.parse(JSON.stringify(o1)),无法复制复杂的// 方法二:递归深度赋值Object.entries(o1).forEach((el) => {if (Array.isArray(el[1])) {newObj[el[0]] = [];el[1].forEach((elx) => {newObj[el[0]].push(elx);});} else {newObj[el[0]] = el[1];}});// 方法三:第三方代码,引用js文件后,使用里面规定的代码实现const newObj = _.cloneDeep(o1);console.log(newObj)

二、变量作用域,闭包

1.代码块

如果在代码块 {...} 内声明了一个变量,那么这个变量只在该代码块内可见。

对于 iffor 和 while 等,在 {...} 中声明的变量也仅在内部可见。

let i 位于 {...} 之外。但是 for 构造很特殊:在其中声明的变量被视为块的一部分。

2.嵌套函数(重要)

 如果一个函数是在另一个函数中创建的,该函数就被称为“嵌套”函数。

function makeCounter() {let count = 0;return function() {return count++;};
}let counter = makeCounter();alert( counter() ); // 0
alert( counter() ); // 1

http://www.hkea.cn/news/915196/

相关文章:

  • 做游戏赚钱的网站最新新闻热点事件2022
  • 商务网站建设哪家好推广代理公司
  • 自己做网站是否要买云主机西安百度提升优化
  • 成都注册公司哪个区好分析网站推广和优化的原因
  • 模板建站杭州seo泽成
  • 济南网站建设公司川芎网络怎么注册自己的网址
  • linux下安装wordpress关键词优化排名查询
  • wordpress手机网站怎么做中央电视台一套广告价目表
  • 百家号如何给网站做推广推广方案是什么
  • 西安三网合一网站建设产品线上推广方案
  • 2023年免费b站入口百度网站优化
  • 响应式网站建设有利于seo网站发布与推广方案
  • 网页制作教程课件seo推广排名重要吗
  • 小规模纳税人企业所得税怎么征收广州seo招聘
  • 济南企业自助建站网络营销策划公司
  • iis 新建网站 要登录温州seo推广外包
  • 个人想做企业网站备案惠州seo代理商
  • 做公务员题的网站口红的推广软文
  • 福州网站建设 联系yanktcn 04上海百网优seo优化公司
  • 网站备案号如何获得网站建设营销推广
  • 物流网站开发公司西安 做网站
  • 商务信息网站怎么做网络视频营销策略有哪些
  • 社交做的最好的网站怎么开发一个网站
  • 教育品牌网站建设百度搜索推广和信息流推广
  • 虎门专业做网站对网络营销的认识有哪些
  • 投资理财培训网站建设抖音引流推广一个30元
  • 做景观设施的网站网络营销推广要求
  • 携程网站建设进度及实施过程网络营销的缺点及建议
  • 石家庄网站建设哪家专业中国联通腾讯
  • 能访问各种网站的浏览器百度一下网页搜索