how to tell a function arguments length in js

JavaScript函数不对参数值(参数)执行任何检查

https://www.w3schools.com/js/js_function_parameters.asp

// ES5

function functionName(parameter1, parameter2, parameter3) {
// code to be executed
} // ES6 const func = (parameter1, parameter2, parameter3, ...rest) => {
//
}

setTimeout

https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Asynchronous/Timeouts_and_intervals

https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout

setTimeout()

setInterval()

setImmediate()

requestAnimationFrame()

https://developer.mozilla.org/en-US/docs/Archive/Add-ons/Code_snippets/Timers


var timeoutID = scope.setTimeout(function[, delay, arg1, arg2, ...]);
var timeoutID = scope.setTimeout(function[, delay]);
var timeoutID = scope.setTimeout(code[, delay]);

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/now


const start = Date.now();
console.log('starting timer...', start);
// "starting timer..." 1593588039392 const timer = new Date().getTime();
console.log('timer...', timer);
// "timer..." 1593588039392

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

let new_array = arr.map(function callback( currentValue[, index[, array]]) {
// return element for new_array
}[, thisArg])

Functions arguments

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments

convert arguments to a real Array

var args = Array.prototype.slice.call(arguments);
// array literal
var args = [].slice.call(arguments); // ES6 Array.from()
let args = Array.from(arguments); // ES6 spread syntax
let args = [...arguments];

const log = console.log; function func1(a, b, c) {
log(`arguments`, arguments, arguments.length);
log(arguments[0]);
log(arguments[1]);
log(arguments[2]);
} func1(1, 2, 3);

callee & caller

被调用者(接受) & 调用者(发出)

const log = console.log;

function func(a, b, c) {
log(`arguments`, arguments, arguments.length);
log(arguments[0]);
log(arguments[1]);
log(arguments[2]);
} func(1,2,3) ;

const log = console.log; const obj = {
name: 'abc',
getName: () => log(this.name),
}; obj.getName();
const log = console.log;

const obj = {
name: 'abc',
getName: function() {
log(`arguments`, arguments, arguments.length);
log(this.name);
},
}; obj.getName();

'caller', 'callee', and 'arguments'

TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or

the arguments objects for calls to them at Function.invokeGetter (:1:142)

demos

let cb = v => console.log(v || `default value`)
// cb = v => console.log(arguments.length, v || `default value`) function func(v) {
console.log(arguments.length, v || `default value`)
}

ES6 arrow function 不存在 arguments 对象


xgqfrms 2012-2020

www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!


how to tell a function arguments length in js的更多相关文章

  1. JavaScript Function arguments.callee caller length return

    一.Function 函数是对象,函数名是指针. 函数名实际上是一个指向函数对象的指针. 使用不带圆括号的函数名是访问函数指针,并非调用函数. 函数的名字仅仅是一个包含指针的变量而已.即使在不同的环境 ...

  2. arguments .length .callee caller

    如果有一个函数像下面这样: function fn(){ } 那么fn这个函数下面就有一个arguments属性(你在逗我么,后面又说对象),该属性是个对象(typeof一下就知道了),然后它下面也有 ...

  3. js小记 function 的 length 属性

    原文:js小记 function 的 length 属性 [1,2,3]., ,这个略懂js的都知道. 但是  eval.length,RegExp.length,"".toStr ...

  4. JavaScript Function.arguments 属性详解

    语法 [functionObject.]arguments arguments属性是正在执行的函数的内置属性,返回该函数的arguments对象.arguments对象包含了调用该函数时所传入的实际参 ...

  5. JS Function Arguments

    Function arguments在ECMAScript中的行为并不像其他大多数语言中的函数参数. 在ECMAScript中,function 并不关心有多少个参数传入函数中,也不关心传入参数的数据 ...

  6. arguments.length

    本文地址:http://www.cnblogs.com/veinyin/p/7607083.html  arguments.length是实参的个数,与形参个数无关.

  7. [Javascript] Required function arguments in Javascript

    In Javascript, all function arguments are optional by default. That means if you ever forget to pass ...

  8. js function arguments types

    js function arguments types https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functi ...

  9. ES6教程-字符串,函数的参数,了解函数的arguments对象,js面向对象,设计模式-单例模式,解构赋值

    前言 主要讲解了ES6对字符串的拓展,包括includes,startsWith和endsWith,另外增加了字符串模板. Start includes()是否包含 startsWith()以什么开头 ...

随机推荐

  1. 提供个HDFS的目录的路径,对该目录进行创建和删除操作。创建目录时,如果目录 文件所在目录不存在则自动创建相应目录;删除目录时,由用户指定当该目录不为空时是否还删 除该目录

    import java.io.IOException; import java.util.Scanner; import org.apache.hadoop.fs.*; public class G_ ...

  2. 使用eventfd创建一个用于事件通知的文件描述符

    https://www.jianshu.com/p/57cc1d7d354f nat穿透代码c++

  3. 后台故障&性能分析常用工具

    说明 本文是一个归纳总结,把常用的一些指令,及它们常用的option简单记录了一下,目的是当我们需要工具去定位问题的时候,能够从中找到合适的工具,具体的用法网上有很多博文了,当然还有man手册.参考了 ...

  4. Eclipse+Maven+Spring

    1.首先按照how2j教程搭建Maven项目:http://how2j.cn/k/maven/maven-eclipse-maven-project/1332.html 2. 刚建好时没有资源文件夹的 ...

  5. 前端api管理工具YApi

    使用YApi接口管理工具,提升前端开发效率前端开发苦恼: 代码中使用json数据模拟后端api数据,注释调取api接口代码,代码乱七八糟 为了测试不同case,央求后端人员返回不同的数据,返回状态.返 ...

  6. 这次一定要记住opencv和cv2是什么及其基础用法

    opencv是一个基于BSD许可发行(也就是俗称的开源)的跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS上.由一系列 C 函数和少量 C++ 类构成的它轻量且高 ...

  7. 原生js拖拽功能制作滑动条实例教程

    拖拽属于前端常见的功能,很多效果都会用到js的拖拽功能.滑动条的核心功能也就是使用js拖拽滑块来修改位置.一个完整的滑动条包括 滑动条.滑动痕迹.滑块.文本 等元素,先把html代码写出来,如下所示: ...

  8. codeblocks输出中文乱码解决办法

    在使用codeblocks进行编程的时候我发现控制台输出会出现中文乱码,就像这样: 所以很快我就问了老师,解决步骤如下: 一:如果源码是用codeblock编写的,打开Setting->Edit ...

  9. WebApi Swagger 接口多版本控制 适用于APP接口管理

    最近研究了下swagger多版本的维护,网上的文章千篇一律,无法满足我的需求,分享下我的使用场景以及实现 演示环境:Visual Studio 2019.Asp.NET WebAPI.NET Fram ...

  10. ACM 模板库

    Template For ACM 一. 字符串 标准库 sscanf sscanf(const char *__source, const char *__format, ...) :从字符串 __s ...