分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

JS基础:高阶函数

发布时间:2023-09-06 01:26责任编辑:苏小强关键词:暂无标签

函数声明和函数表达式

  在 JS 中定义函数的方式有两种:一种是函数声明,一种是函数表达式。

例如:

//函数声明function fun() { ?...}
//函数表达式var f = function() { ?...}

它们的区别在于 JS 会把函数声明提升到作用域顶部,而函数表达式只有在执行到该语句时才会生效

关于函数的其他注意事项:

1、函数名后面跟圆括号 "()" 表示立即执行该函数,例如:

  var test = fun(); //表示执行 "fun" 这个函数,并将返回值赋值给 "test" 变量

  var test = fun; //表示将 "fun" 函数的指针赋值给 "test" 变量,"test" 是该函数的一个引用

2、函数的 “arguments” 对象是一个参数数组,可以使用 “arguments” + 下标的方式访问传入函数中的参数

使用匿名自执行函数模拟块级作用域

  JS 中只有全局作用域和函数级作用域,并没有 C++ 那种花括号包裹起来的块级作用域,但是可以通过匿名自执行函数模拟块级作用域

例如:

(function() { ?...})();

以上代码定义并立即调用了一个匿名函数,将这个匿名函数包含在一对圆括号中是因为 "()" 这个运算符只对函数表达式有效,而 "function" 是 JS 中的一个关键字,位于句首表示函数声明,是不能被执行的。

高阶函数

  高阶函数是指至少满足下列条件之一的函数:

1、函数可以作为参数被传入

2、函数可以作为返回值输出

例如:

var isString = function(obj) { ???return typeof(obj) == ‘string‘;}var isNumber = function(obj) { ???return typeof(obj) == ‘number‘;

这两个用于判断数据类型的函数中的大部分代码都是可以重复利用的,如果以后还要扩展的话总是需要重新定义一个函数,而使用高阶函数就可以避免这些问题

例如:

function isType(type) { ???return function(obj) { ???????return typeof(obj) == type; ???}}var isString = isType(‘string‘);var isNumber = isType(‘number‘);

JS基础:高阶函数

原文地址:https://www.cnblogs.com/blog-cxj2017522/p/9001862.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved