javascript定义函数的几种类型是什么

在JavaScript中定义函数的几种类型:1、利用function关键字通过声明或表达式定义函数,语法为“function functionName(parameters){执行的代码}”;2、利用函数构造器Function()构造函数。

javascript定义函数的几种类型是什么

本教程操作环境:windows10系统、javascript1.8.5版、Dell G3电脑。

javascript定义函数的几种类型是什么

JavaScript 使用关键字 function 定义函数。

函数可以通过声明定义,也可以是一个表达式。

函数声明

立即学习“Java免费学习笔记(深入)”;

在之前的教程中,你已经了解了函数声明的语法 :

function functionName(parameters) {  执行的代码}

登录后复制

函数声明后不会立即执行,会在我们需要的时候调用到。

函数构造器

函数构造器用于创建一个函数对象,在JavaScript中实际上每一个函数都是一个函数对象。

函数构造器的语法:

new Function ([arg1[, arg2[, ...argN]],] functionBody)

登录后复制

arg1, arg2, … argN  被用于作为函数正常参数名的变量名字,这些变量名必须是符合JavaScript变量标识规范的表示单个变量的字符串或者以逗号分隔的表示多个变量的字符串,比如”x”, “theValue”, or “a,b”。

functionBody   包含函数定义的JavaScript语句的字符串。

描述

1.函数对象在函数构造器被解析成为函数的时候被创建。但是这样会比以函数声明、函数表达式等方式低效,因为这些函数时通过代码直接解析的。

2.传递给函数构造器的字符串参数都会被当作函数构造器生成函数的变量参数名字,以他们出现的顺序作为生成的函数的参数的顺序。

3.以函数的方式调用函数构造器(不管用不用new关键词修饰)效果一样。

例子

// Example can be run directly in your JavaScript console// Create a function that takes two arguments and returns the sum of those argumentsvar adder = new Function('a', 'b', 'return a + b');// Call the functionadder(2, 6);// > 8

登录后复制

 参数a和b是可以在函数体内使用的正常的参数名字。

生成的函数为:

function (a,b){undefined  return a+b;}

登录后复制

关于json解析的一种方式:var json = (new Function(“return ” + str))();

原理一样,

生成的函数为:

function toJson(str){undefined   return str;}var str="{'a':1,'b':'abc'}";toJson(str);

登录后复制

即:function(){return {‘a’:1,’b’:’abc’}}

函数构造器和函数声明的区别:

用函数构造器创建的函数不会在上下文中创建闭包,它们总是被创建在全局作用域中,当执行被创建的函数时,它们只能使用自己的局部变量或者全局变量,这和eval是不同的。

相关推荐:javascript学习教程

以上就是javascript定义函数的几种类型是什么的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2702297.html

(0)
上一篇 2025年3月7日 19:22:42
下一篇 2025年3月6日 21:56:42

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 带你了解JSON.stringify,看看怎么使用

    你真的会使用强大的json.stringify方法吗?下面本篇文章带大家详细了解解json.stringify,介绍一下使用方法,希望对大家有所帮助! JSON.stringify 作为日常开发中经常使用的方法,你真的能灵活运用它吗? 学习…

    2025年3月7日
    200
  • 聊聊 typeof 和 instanceof 间有什么区别

    typeof和instanceof操作符都可用来判断数据类型,那么它们之间有什么差异?下面本篇文章就来带大家了解 typeof 和 instanceof ,聊聊它们的区别,希望对大家有所帮助! typeof和instanceof操作符都是用…

    2025年3月7日
    200
  • 图文详解JavaScript原型链

    本篇文章给大家带来了关于javascript的相关知识,其中主要介绍了关于原型链的相关问题,原型链指一些原型通过__proto__指针构成的链表,一个原型链可以为想共享原型链中数据的对象服务,希望对大家有帮助。 相关推荐:javascrip…

    2025年3月7日 编程技术
    200
  • JavaScript中如何获取URL参数?4种常见方法详解

    如何利用原生javascript来获取url链接参数?下面本篇文章给大家详细介绍4种常见的原生js方法,希望对大家有所帮助! 作为一个前端开发,我们很多时候都需要对URL进行操作和处理,最常见的一种就是获取URL链接中携带的参数值了。使用框…

    2025年3月7日 编程技术
    200
  • 带你了解JavaScript解构赋值

    本篇文章给大家带来了关于javascript的相关知识,其中主要介绍了关于解构赋值的相关问题,包括了数组解构、对象结构以及解构的用途等等,希望对大家有帮助。 相关推荐:javascript学习教程 概念 ES6提供了更简洁的赋值模式,从数组…

    2025年3月7日
    200
  • javascript数据类型学习之浅析Symbol类型

    本篇文章带大家了解一下es6新增的数据类型:symbol,聊聊symbol类型的声明方式和使用方法,希望对大家有所帮助! Symbol一种新的原始数据类型,表示独一无二的。是javascript中第七种数据类型。另外六种分别是:undefi…

    2025年3月7日
    200
  • 帮你搞定JavaScript对象

    本篇文章给大家带来了关于javascript的相关知识,其中主要介绍了关于对象的相关问题,包括了构造函数和各种内置对象的知识点,希望对大家有帮助。 相关推荐:javascript教程 一、构造函数 为什么使用构造函数 什么是构造函数:是Ja…

    2025年3月7日 编程技术
    200
  • 一文带你深入了解React Hooks!

    react中你了解hooks吗?本篇文章带大家来深入了解下react hooks,希望对大家有所帮助! 前言 Hooks 用于在不编写 class 的情况下,使用 state 以及其他 React 特性。那么 Hooks 究竟是什么,为什么…

    2025年3月7日
    200
  • JavaScript正则表达式,这一篇就够了

    本篇文章给大家带来了关于javascript的相关知识,其中主要介绍了正则表达式的相关问题,正则表达式是一个特定的格式化模式,用于验证各种字符串是否匹配这个特征,进而实现高级的文本查找、替换、截取内容等操作,希望对大家有帮助。 相关推荐:j…

    2025年3月7日 编程技术
    200
  • 为什么会有Symbol类型?怎么使用?

    什么是 symbol?为什么会有这么个东西?下面本篇文章给大家介绍一下javascript中的symbol类型,聊聊使用方法,希望对大家有所帮助! 什么是 Symbol?为什么会有这么个东西? Symbol(符号)是 ES6 新增的数据类型…

    2025年3月7日
    200

发表回复

登录后才能评论