博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS中的几种函数
阅读量:6991 次
发布时间:2019-06-27

本文共 650 字,大约阅读时间需要 2 分钟。

函数可以说是js中最具特色的地方,在这里我将分享一下有关函数的相关知识:

包装函数:

        (function foo(){...})作为函数表达式意味着foo只能在...所代表的位置中被访问,外部作用域则不行

        (function foo(){...})()

        第一个()将函数变成表达式第二个()执行了这个函数,这种模式代表立即执行函数表达式

    包装函数的声明以(function...而不是function开始,函数会被当作函数表达式而不是一个标准的函数声明来处理

        区分函数声明和表达式最简单的方法就是看function的位置,如果是声明中的第一个词,就是函数声明,否则是函数表达式

回调函数:

setTimeout(function(){             console.log("i waited 10 second!");         },10000);

         这叫做匿名函数表达式,因为function()...没有名称标识符,所以函数表达式是匿名的,而函数声明不可以省略函数名,在JS中是非法的

匿名函数的几个缺点:

        #匿名函数在栈追踪中不会显示出有意义的函数名,使得调试困难
        #没有函数名,当函数需要引用自身时只能使用已经过期的 arguments.callee引用;比如在递归中,另一个函数需要引用自身的例子,是在事件触发后事件监听器需要解绑自身
        #匿名函数省略了对于代码的可读性

转载于:https://www.cnblogs.com/wccc/p/6713645.html

你可能感兴趣的文章
springboot 配置文件
查看>>
浏览器插件 - Chrome 对 UserScript 的声明头(metadata)兼容性一览
查看>>
两个list<object> 比较 得到相同数据 差异数据
查看>>
The road to learning English-Writing
查看>>
Codeforces 990B :Micro-World
查看>>
interceptor拦截器
查看>>
课堂练习
查看>>
Git 工具 - 储藏(Stashing)
查看>>
c# Winforms WebBrowser - Clear all cookies
查看>>
学习 Spring (十) 注解之 @Bean, @ImportResource, @Value
查看>>
POJ 1741 Tree ——点分治
查看>>
越狱(快速幂)
查看>>
联合查询的 SQL 语法
查看>>
Python语法
查看>>
服务器使用bbr加速配置
查看>>
Hadoop综合大作业
查看>>
JAVA 消耗 CPU过高排查方法
查看>>
DOM和BOM
查看>>
prometheus监控示例
查看>>
细菌的繁殖
查看>>