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

现在网站开发和软件开发贵州省城乡建设厅网站首页

现在网站开发和软件开发,贵州省城乡建设厅网站首页,360优化大师官方网站,iis怎么使用来建设一个网站arguments并不是一个真正的数组#xff0c;而是一个“类似数组#xff08;array-like#xff09;”的对象#xff1b; 就像下面的这段输出#xff0c;就是典型的类数组对象#xff1a; [12, 23, callee: ƒ, Symbol(Symbol.iterator): ƒ] 一、类数组 VS 数组 相同点而是一个“类似数组array-like”的对象 就像下面的这段输出就是典型的类数组对象 [12, 23, callee: ƒ, Symbol(Symbol.iterator): ƒ]   一、类数组 VS 数组 相同点 都可用下标访问每个元素都有length属性不同点 数组对象的类型是Array类数组对象的类型是Object类数组对象不能直接调用数组API数组遍历可以用for in和for循环类数组只能用for循环遍历 function calc(){console.log(arguments); // [sky, moon, callee: ƒ, Symbol(Symbol.iterator): ƒ]console.log(arguments[0]); // skyconsole.log(arguments.length); // 2// arguments.pop(); // 报错arguments.pop is not a function }calc(sky, moon);   类数组对象转为数组对象方法 Array.prototype.slice.call ( arguments ); function calc(){var newArr Array.prototype.slice.call(arguments);newArr.pop(); console.log(newArr); // [sky] }calc(sky, moon);   二、类数组的用法 1、实现重载(overload)当函数的参数个数不明确时函数体根据参数的不同进行相应处理 比如我们要实现一个参数时做乘法运算二个参数时做加法运算 看下面代码我们可以这样实现 // 实现重载(overload) function calc(){//传1个参数求平方if(arguments.length 1){return arguments[0] * arguments[0]; }//传2个参数求和else if(arguments.length 2){return arguments[0] arguments[1];} } console.log(calc(5));//25 console.log(calc(12,23));//35   2、实现递归在函数内部反复的调用函数本身 首先我们用最原始的方法实现数字的叠加 function calc(num){if(num 0){return 0;}else{return num calc(num - 1);} }console.log(calc(3)); // 6   然后我们用类数组来实现同样的功能 arguments.callee返回当前函数本身 function calc(num){if(num 0){return 0;}else{return num arguments.callee(num - 1);} } console.log(calc(3)); // 6   下面举个栗子来说明这两种调用的一点小区别 如果写成 return num calc(num - 1) 会报错原因很简单当执行calc null 后calc已经不是一个函数 但是写成 return num arguments.callee(num - 1) 不会报错因为arguments.callee指的是“当前函数”并不是“calc” function calc(num){console.log(arguments);if(num 0){return 0;}else{return num arguments.callee(num - 1);// return num calc(num - 1); // 报错 Uncaught TypeError: calc is not a function} } var result calc; calc null; console.log(result(3));   注意 arguments.callee的用法在严格模式下是不允许的 Uncaught TypeError: caller, callee, and arguments properties may not be accessed on strict mode functions or the arguments objects for calls to them use strict; function calc(num){if(num 0){return 0;}else{return num arguments.callee(num - 1);} } console.log(calc(3));  转载于:https://www.cnblogs.com/minigrasshopper/p/8058679.html
http://www.zqtcl.cn/news/474686/

相关文章:

  • 公司怎么建立自己网站做网站需要编码吗
  • 网站域名根目录在哪里wordpress做跟随导航导航
  • 昆明网站建站推广it外包工作怎么样
  • 上海长宁网站建设公司WordPress 采集文章 图片
  • 紫色 网站网络设计的最后一个步骤是
  • 广东省建设安全卡查询网站网站开发需要的语言
  • 网站的建设需要考虑什么问题投放广告的网站
  • 雅虎提交网站入口常州哪家做网站好
  • 哪些网站是503错误代码太原搭建网站的公司
  • 网站建设公司需要有什么东西凡科建站seo
  • 荷泽网站建设买链接做网站 利润高吗
  • 网站嵌套代码网络营销与策划实训
  • 网上做环评立项的网站是哪个网站开发是前端吗
  • 公司网站可以自己建立吗前端网站开发教程
  • 淘宝客导购网站营销推广软件有哪些
  • 专做写字楼出租的网站建设银行北京招聘网站
  • 龙华观澜网站建设酒店网站建设策划
  • 淄博网站排名做版权保护的网站
  • 专业轻电商网站建设公司新闻发布的网站
  • 设计型网站营销存在的问题及改进
  • 南通建设企业网站wordpress 位置地图
  • 无锡本地网站有哪些手机拍摄720全景软件
  • 泉州晋江网站建设费用东莞市住房和城乡建设局门户网站
  • 苏州网站建设哪家便宜平谷手机网站设计
  • 建设项目一次公示网站嘉兴新站seo外包
  • 电子商务网站模板 html专业网站建设服务报价
  • 网页设计和网站建设的区别研发一款app要多少钱
  • seo网站建设方案建个企业网站需要多少钱
  • 搭建网站的软件网页动态设计
  • 好的界面建筑网站甘孜网站建设