`
sunxg
  • 浏览: 13748 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Javascript arguments 测试

 
阅读更多
如下测试代码所展示, arguments 与 方法参数 的对应变化行为,没有任何javascript的语法定义可遵循,你无法通过参数按值传递或其他基础语言规则推导出该行为。

但是利用arguments,却可以实现很多有用的功能,具体例子可以参考MDN上关于该关键字的说明。

!function(a, b, c, d, e) {
    a = 4;
    console.log("After set a = 4, arguments[0] is", arguments[0]);

    a = undefined;
    console.log("After set a = undefined, arguments[0] is", arguments[0]);

    a = 4;
    console.log("After set a = 4 again, arguments[0] is", arguments[0]);

    arguments[1] = 5;
    console.log("After set arguments[1] = 5, b is", b);

    arguments[1] = undefined;
    console.log("After set arguments[1] = undefined, b is", b);

    arguments[1] = 5;
    console.log("After set arguments[1] = 5 again, b is", b);

    delete arguments[2];
    console.log("After delete arguments[2], c is", c);
    arguments[2] = 6;
    console.log("After set arguments[2] = 6, c is", c);

    arguments[3] = 7;
    console.log("After change arguments[3] from undfined to 7, d is", d);

    e = 8;
    console.log("After change e from undfined to 8, arguments[4]:", arguments[4]);
}(1, 2, 3);

// 结果如下
// After set a = 4, arguments[0] is 4
// After set a = undefined, arguments[0] is undefined
// After set a = 4 again, arguments[0] is 4
// After set arguments[1] = 5, b is 5
// After set arguments[1] = undefined, b is undefined
// After set arguments[1] = 5 again, b is 5
// After delete arguments[2], c is 3
// After set arguments[2] = 6, c is 3
// After change arguments[3] from undfined to 7, d is undefined
// After change e from undfined to 8, arguments[4]: undefined
分享到:
评论

相关推荐

    前端开源库-arguments-extended

    "arguments-extended"就是一个这样的开源库,专为处理JavaScript中的`arguments`对象提供了一系列实用方法,旨在增强参数操作的灵活性和便利性。 `arguments`对象在JavaScript中是一个特殊的对象,它在函数内部可用...

    effective javascript-中文-带书签

    10. **调试与测试**:理解如何使用开发者工具进行调试,编写单元测试和集成测试以确保代码质量。 此外,书中还涉及了ES6及后续版本的新特性,如类、箭头函数、模板字符串等。通过阅读《Effective JavaScript》,...

    Javali创建一个使用ES6Jest的现代JavaScript库

    在JavaScript开发中,创建一个高质量的库需要考虑很多因素,包括模块打包、测试、代码质量检查、文档生成等。Javali简化了这个过程,通过自动化配置和最佳实践,让开发者能够专注于编写核心功能,而不是处理构建系统...

    javaScript达内培训笔记

    函数定义使用`function`关键字,可以通过参数传递值,内部可以使用`arguments`对象访问所有传入的参数。 ##### 6. 数组(Array) 数组是存储多个值的容器,可以通过索引访问元素。JavaScript数组是动态的,即可以在...

    JavaScript_Garden_CN

    2. **函数**: 包括函数声明与表达式、`this`的工作原理、闭包与引用、`arguments`对象、构造函数、作用域与命名空间等内容,深入探讨了函数的灵活性和复杂性。 3. **数组**: 阐述了数组的遍历与属性、`Array`构造...

    华为od题解JavaScript

    2. **函数**:函数是JavaScript中可重用代码块,包括函数表达式、箭头函数、函数参数默认值、rest参数、arguments对象、this的指向以及函数内部作用域。 3. **对象与原型链**:深入理解对象的创建、属性访问、原型...

    Lecture_8_JavaScript最佳实践1

    综上所述,JavaScript最佳实践是提升网页应用质量的关键,包括分离关注点、管理全局变量、正确声明局部变量、使用严格模式、合理布局变量声明以及采用模块化和测试等策略。遵循这些原则,开发者可以编写出更健壮、...

    JavaScript的函数劫持

    - **模拟与测试**:在测试环境中替换某些复杂的依赖,简化测试逻辑。 在提供的标签"源码"和"工具"中,我们可以推测这篇博客可能涉及到使用函数劫持技术分析或优化JavaScript代码,或者是介绍某种工具利用了这一概念...

    fivem-rapidtestdeployment:Javascript资源,可从FiveM内部进行Javascript测试和本机研究

    arguments:可选参数,可解释为Javascript,可以访问FiveM本机绑定。 如果参数具有返回值,则该值将显示在小地图上方,以作为警告。 如果未找到参数,则显示多行文本输入区域。 编辑后,使用“取消”或“确认”...

    javascript权威指南第五版

    12. 测试与调试:介绍了测试工具的使用,如Jasmine、Mocha等,以及如何利用浏览器的开发者工具进行代码调试。 《JavaScript权威指南第五版》的.chm文件格式通常包含HTML帮助文档,便于读者查阅和搜索相关内容。通过...

    test-mole:通过偷偷摸摸测试 javascript 闭包

    测试痣通过偷偷摸摸测试 javascript 闭包 正确编写的 JavaScript 很难测试,因为大部分代码都隐藏在闭包中。 例如,在这个例子中我们不能直接测试内部函数isNumber : var add = ( function ( ) { function isNumber...

    javaScript

    jQuery UI是一个基于jQuery的开源项目,它提供了一系列经过精心设计和测试的用户界面组件,例如日期选择器(datepicker)、对话框(dialog)、拖放(draggable)和可排序(sortable)功能等。 日期选择器...

    比较不错的函数式JavaScript编程指南教程

    **两种函数调用方式**在JavaScript中,函数可以通过两种方式调用:一种是标准的`functionName()`,另一种是`'(functionName)'(arguments)`。后者常用于立即执行函数表达式(IIFE),以避免作用域污染或创建闭包。 `...

    javascript测试题练习代码

    在JavaScript编程语言中,我们经常会遇到各种挑战性的测试题,以提升我们的编程技能。下面将对给定的三个JavaScript测试题进行详细解析: 1. 找出字符串中出现次数最多的字母及其出现次数: ```javascript var str ...

    javascript编程书写标准

    - 尽可能使用默认参数来提供初始值,而非在函数体内检查`arguments`对象。 - 使用`function`关键字定义命名函数,以利于调试和堆栈跟踪。 3. 控制流程: - 使用`if...else`结构时,保持逻辑清晰,避免嵌套过深。...

    JavaScript Perfection kill 测试及答案

    JavaScript Perfection Kill 测试是一个挑战开发者JavaScript技能的在线测验,涵盖了语言的多个方面,包括作用域、类型转换、函数、对象以及浏览器差异等。在这个测试中,出现了一些有趣的问题,其中部分问题在不同...

    Selenium执行Javascript脚本参数及返回值过程详解

    在Selenium自动化测试框架中,Javascript脚本的执行是一个非常重要的部分,它使得测试人员可以更加灵活地控制浏览器行为,进行复杂的操作。Selenium提供了driver.execute_script()方法用于执行Javascript代码,该...

    [JavaScript权威指南(第六版)].(美)David.Flanagan.中文扫描版

    14. **测试与调试**:讨论单元测试、集成测试的方法,以及Chrome开发者工具等调试技巧。 15. **模块化开发**:介绍CommonJS、AMD和ES6模块,以及Webpack、Rollup等构建工具的使用。 通过阅读《JavaScript权威指南...

Global site tag (gtag.js) - Google Analytics