how to tell a function arguments length in js
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的更多相关文章
- JavaScript Function arguments.callee caller length return
一.Function 函数是对象,函数名是指针. 函数名实际上是一个指向函数对象的指针. 使用不带圆括号的函数名是访问函数指针,并非调用函数. 函数的名字仅仅是一个包含指针的变量而已.即使在不同的环境 ...
- arguments .length .callee caller
如果有一个函数像下面这样: function fn(){ } 那么fn这个函数下面就有一个arguments属性(你在逗我么,后面又说对象),该属性是个对象(typeof一下就知道了),然后它下面也有 ...
- js小记 function 的 length 属性
原文:js小记 function 的 length 属性 [1,2,3]., ,这个略懂js的都知道. 但是 eval.length,RegExp.length,"".toStr ...
- JavaScript Function.arguments 属性详解
语法 [functionObject.]arguments arguments属性是正在执行的函数的内置属性,返回该函数的arguments对象.arguments对象包含了调用该函数时所传入的实际参 ...
- JS Function Arguments
Function arguments在ECMAScript中的行为并不像其他大多数语言中的函数参数. 在ECMAScript中,function 并不关心有多少个参数传入函数中,也不关心传入参数的数据 ...
- arguments.length
本文地址:http://www.cnblogs.com/veinyin/p/7607083.html arguments.length是实参的个数,与形参个数无关.
- [Javascript] Required function arguments in Javascript
In Javascript, all function arguments are optional by default. That means if you ever forget to pass ...
- js function arguments types
js function arguments types https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functi ...
- ES6教程-字符串,函数的参数,了解函数的arguments对象,js面向对象,设计模式-单例模式,解构赋值
前言 主要讲解了ES6对字符串的拓展,包括includes,startsWith和endsWith,另外增加了字符串模板. Start includes()是否包含 startsWith()以什么开头 ...
随机推荐
- Quartz 定时任务调度
一.在Quartz.NET中quartz.properties的配置文件,忽略不修改,考虑下面: var props = new NameValueCollection { { "quart ...
- 前端开发规范之命名规范、html规范、css规范、js规范
在学习编程的时候,每次看到那些整齐规范的代码,心里顿时对这个程序员表示点点好感,有时,比如看到自己和朋友写的代码时,那阅读起来就是苦不堪言,所以,一些基本的开发规范是必须的,是为了自己方便阅读代码,也 ...
- Java Web学习之路
编程基础 1-1 常用数据结构 数组.链表.堆.栈.队列.Hash表.二叉树等1-2 算法思想 算法时间复杂度和空间复杂度的分析计算 1-2 算法思想:递推.递归.穷举.贪心.分治.动态规划.迭代.分 ...
- Mycat 配置文件解析
Mycat 配置文件解析 一.server.xml 二.schema.xml 2.1 schema.xml文件中配置的参数解释 2.1.1 DataHost 2.1.2 DataNode 2.1.3 ...
- SSH框架搭建详细步骤整理
学习Java面前有两座山,一座山叫SSM,一座山叫SSH,跨越了这两座山之后才能感受到这个语言的魅力所在,SSM框架的搭建详细在之前博客已经涉及了,今天来整理SSH框架详细步骤: 生有涯 而 学无涯 ...
- 压缩文件 .zip.001 .zip.002合并
可以把名字特别长的命名为1 这样简单些 copy /B 1.zip.001+1.zip.002 1.zip
- httprunner(2)下载安装
环境要求 HttpRunner 是一个基于 Python 开发的测试框架,可以运行在 macOS.Linux.Windows 系统平台上.这里使用macOS系统进行演示 对于python版本要求:py ...
- impala支持的数据库里的double(float)类型,通过迁移inceptor后,类型的值都变成了null
impala支持的数据库里的double(float)类型,通过迁移inceptor后,double类型的值都变成了null. 通过查阅日志发现默认将double转换成Decimal(38,10)然而 ...
- unix环境高级编程第六章笔记
口令文件 阴影口令 组文件 附属组ID 登录账户记录 系统标识 口令文件<\h2> /etc/passwd文件是UNIX安全的关键文件之一.该文件用于用户登录时校验用户的口令,文件中每行的 ...
- Java-Graphics类的绘图方法实现
Java-Graphics(画图类) 就比如画一个矩形,你给出矩形左上角坐标,再给出矩形长度和宽度就可以在JFrame上画出来一个矩形 除了矩形之外,还可以画椭圆.圆.圆弧.线段.多边形.图像等 下面 ...