摘要:当函数被调用时,参数作为输入传递到函数,并且函数可以选择的返回输出。在中函数也是一个对象函数名是作为函数声明或函数表达式的一部分声明的标识符函数的作用域取决于函数名是一个声明还是表达式。命名函数表达式作用函数体内部引用当前函数。
function
函数的声明三种方式:
function test () {}
函数直接量
var test2 = function () {}
Function构造函数
var test3 = new Function(arg1, arg2, function_body)
区别:
函数是一个可以被其它代码或其自身调用的代码片段,或者是一个指该函数的变量variable。
当函数被调用时,参数arguments作为输入传递到函数,并且函数可以选择的返回输出。
在JS中函数也是一个对象Object
函数名是作为函数声明或函数表达式的一部分声明的标识符identifier.
函数的作用域scope取决于函数名是一个声明还是表达式。
匿名函数
匿名函数是一个没有函数名的函数
function () {}
命名函数
命名函数是具有函数名称的函数
function fn () {}
立即执行表达式
立即调用函数表达式(IIFE)是一个函数,其在函数被加载到浏览器的编译器之后直接调用的。
(function () {})()
命名函数表达式
作用:函数体内部引用当前函数。
命名函数表达式,函数名将会(只会)作为函数体(作用域内)的本地变量。这样可以避免使用非标准的aruments.callee属性
var math = { "fn": fn (n) { if (n <= 1) { return 1; } return n * fn(n - 1); } }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/78730.html
摘要:在上面的执行中,只是又返回了一个新的对象,但是并没有执行新对象里面的属性对应的匿名函数喔,那就是没有改变的值啊,所以你继续也会输出同样的结果啊。 关于javascript中的闭包 我GitHub上的菜鸟仓库地址: 点击跳转查看其他相关文章 文章在我的博客上的地址: 点击跳转 其实关于闭包的定义,很多种说法,而关于闭包的解释,更是多不胜数了。很多说得非常复杂,也有很多...
摘要:作用域的类别可以影响到变量的取值,分为词法作用域静态作用域和动态作用域。而,采用的就是词法作用域,或者叫静态作用域。 关于javascript中的作用域和作用域链 我GitHub上的菜鸟仓库地址: 点击跳转查看其他相关文章 文章在我的博客上的地址: 点击跳转 前面的文章说到, 执行上下文的创建阶段,主要有三个内容: 1、创建变量对象;2、初始化作用域...
摘要:两日前,发了一篇吐槽,莫名的火了一把。关于的第一个,其实就是声明一个常量,不允许变更。另外对象迭代这里出自,阮一峰大神写的入门指南,对象篇。 两日前,发了一篇吐槽,莫名的火了一把。经过大家的建议与鼓励,于是修改了简历,开始了重新投递,2天后接到第一份面试邀请。 此文为个人面试经历,QA问答过程与总结,不透露面试公司及面试人员,内容真实,如果有面试过我的大佬看到博客,欢迎指出问题。 循序...
摘要:关于提供了一种优雅的方式来隐式传递一个对象引用,因此可以将设计得更加简洁并且易于复用。对于的误解新手会误认为指向函数本身。这时候,可以使用的方法强制使指向函数对象。的绑定和函数声明的位置没有任何关系,只取决于函数的调用方式。 关于this this 提供了一种优雅的方式来隐式传递一个对象引用,因此可以将API设计得更加简洁并且易于复用。 /* *this 隐式传递...
摘要:变量提升变量的声明写在可以在使用变量之后函数提升函数可以先调用,后声明上面先解释了下我理解的这两个概念的定义。参考前端基础进阶三变量对象详解关于变量提升的理解 变量提升:变量的声明写在可以在使用变量之后;函数提升:函数可以先调用,后声明; 上面先解释了下我理解的这两个概念的定义。要真正理解它们,最好从变量对象的角度出发。引出变量对象的概念,要先理解执行上下文,也就是当控制器执行到可执行...
阅读 4272·2021-09-26 10:11
阅读 2670·2021-07-28 00:37
阅读 3224·2019-08-29 15:29
阅读 1181·2019-08-29 15:23
阅读 3125·2019-08-26 18:37
阅读 2468·2019-08-26 10:37
阅读 598·2019-08-23 17:04
阅读 2348·2019-08-23 13:44