学习前端第三十三天(函数对象,NFE,定时器)

2024-05-09 21:20

本文主要是介绍学习前端第三十三天(函数对象,NFE,定时器),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、函数对象

函数的类型是对象。

1.属性“name”

函数都有个“name”,即使函数被创建时没有名字,名称赋值的逻辑也能给它赋予一个正确的名字,然后进行赋值。

        const fn = function () { };function fnn() {}const user = {sayBye: function () { }};const arr = [function () { }];console.dir(fn.name);  //fnconsole.dir(fnn.name);  //fnnconsole.dir(user.sayBye.name); //sayByeconsole.dir(arr[0].name);  //空

2.属性“length”

length 返回形式参数个数,不包括剩余参数“...e”

        function fn(a, b, c) {  // 形式参数console.log(fn.name, fn.length)  // 统计形式参数个数,不包括剩余参数“...e”}fn(1, 2, 3, 4); // 实际参数,fn 3const user = {sayBye: function (x, y, z) {console.log(this.sayBye.name, this.sayBye.length)}};user.sayBye(); //sayBye 3

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

3.自定义属性

在函数中随便添加属性,方法

        function fn(a, b, c) { };fn.title = "hello";fn.say = function () {console.log(this.title)};console.dir(fn);// ƒ fn(a, b, c)   say: ƒ ()    title: "hello"fn.say(); // hello

现在 title 被直接存储在函数里,而不是它外部的词法环境。

函数中的属性方法在函数调用后才会产生

4.命名函数(NFE)

一个普通的函数表达式给它加一个名字:

let sayHi = function func(who) { alert(`Hello, ${who}`); };

  1. 它允许函数在内部引用自己,确保只会引用当前函数。
  2. 它在函数外是不可见的。

二、定时器

1.setTimeout

将函数推迟到一段时间间隔之后再执行 ,存在返回值id,表示自己是第几个定时器

let timerId = setTimeout(func|code, [delay], [arg1], [arg2], ...)

       const h1 = setTimeout(function (a, b) {console.log("already 5s,present", a, b)},      // 执行的函数5000,   // 执行函数前等待的时间"css",  // 作为参数,传入前面的函数"html"  // 作为参数,传入前面的函数);

2.setInterval

setInterval 每间隔给定的时间周期性执行

let timerId = setInterval(func|code, [delay], [arg1], [arg2], ...)

        const h1 = setInterval(function (a, b) {console.log("already 3s,present", a, b)},      // 执行的函数3000,   // 执行函数前等待的时间,执行后循环"css",  // 作为参数,传入前面的函数"html"  // 作为参数,传入前面的函数);

 3.嵌套的setTimeout

周期性调度 嵌套的setTimeout
嵌套的 setTimeout 相较于 setInterval 能够更精确地设置两次执行之间的延时。

    let timerId = setTimeout(function tick() {console.log('tick');timerId = setTimeout(tick, 2000); // (*)}, 2000);// 精度要求低的时候用 setInterval// 精度高一点的时候用 setTimeout

4.同步代码,异步代码

        console.log("1"); // 同步代码console.log("2"); // 同步代码setTimeout(() => {console.log("hello1") // 异步代码console.log("hello2") // 异步代码},0,   // 可以不传参数,默认0);console.log("hi...");  // 同步代码// 同步代码先执行,异步代码后执行

setTimeout中的执行代码为异步代码,一般的代码为同步代码;

同步代码先执行,所有同步代码执行完后异步代码执行

这篇关于学习前端第三十三天(函数对象,NFE,定时器)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/974538

相关文章

C++中assign函数的使用

《C++中assign函数的使用》在C++标准模板库中,std::list等容器都提供了assign成员函数,它比操作符更灵活,支持多种初始化方式,下面就来介绍一下assign的用法,具有一定的参考价... 目录​1.assign的基本功能​​语法​2. 具体用法示例​​​(1) 填充n个相同值​​(2)

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

PostgreSQL中rank()窗口函数实用指南与示例

《PostgreSQL中rank()窗口函数实用指南与示例》在数据分析和数据库管理中,经常需要对数据进行排名操作,PostgreSQL提供了强大的窗口函数rank(),可以方便地对结果集中的行进行排名... 目录一、rank()函数简介二、基础示例:部门内员工薪资排名示例数据排名查询三、高级应用示例1. 每

全面掌握 SQL 中的 DATEDIFF函数及用法最佳实践

《全面掌握SQL中的DATEDIFF函数及用法最佳实践》本文解析DATEDIFF在不同数据库中的差异,强调其边界计算原理,探讨应用场景及陷阱,推荐根据需求选择TIMESTAMPDIFF或inte... 目录1. 核心概念:DATEDIFF 究竟在计算什么?2. 主流数据库中的 DATEDIFF 实现2.1

MySQL中的LENGTH()函数用法详解与实例分析

《MySQL中的LENGTH()函数用法详解与实例分析》MySQLLENGTH()函数用于计算字符串的字节长度,区别于CHAR_LENGTH()的字符长度,适用于多字节字符集(如UTF-8)的数据验证... 目录1. LENGTH()函数的基本语法2. LENGTH()函数的返回值2.1 示例1:计算字符串

MySQL 中的 CAST 函数详解及常见用法

《MySQL中的CAST函数详解及常见用法》CAST函数是MySQL中用于数据类型转换的重要函数,它允许你将一个值从一种数据类型转换为另一种数据类型,本文给大家介绍MySQL中的CAST... 目录mysql 中的 CAST 函数详解一、基本语法二、支持的数据类型三、常见用法示例1. 字符串转数字2. 数字

Python内置函数之classmethod函数使用详解

《Python内置函数之classmethod函数使用详解》:本文主要介绍Python内置函数之classmethod函数使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 类方法定义与基本语法2. 类方法 vs 实例方法 vs 静态方法3. 核心特性与用法(1编程客

Python函数作用域示例详解

《Python函数作用域示例详解》本文介绍了Python中的LEGB作用域规则,详细解析了变量查找的四个层级,通过具体代码示例,展示了各层级的变量访问规则和特性,对python函数作用域相关知识感兴趣... 目录一、LEGB 规则二、作用域实例2.1 局部作用域(Local)2.2 闭包作用域(Enclos

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

MySQL count()聚合函数详解

《MySQLcount()聚合函数详解》MySQL中的COUNT()函数,它是SQL中最常用的聚合函数之一,用于计算表中符合特定条件的行数,本文给大家介绍MySQLcount()聚合函数,感兴趣的朋... 目录核心功能语法形式重要特性与行为如何选择使用哪种形式?总结深入剖析一下 mysql 中的 COUNT