您现在的位置是:群英 > 开发技术 > web开发
JavaScript中定义函数的类型有啥,怎么实现
Admin发表于 2022-05-14 17:29:50701 次浏览
相信很多人对“JavaScript中定义函数的类型有啥,怎么实现”都不太了解,下面群英小编为你详细解释一下这个问题,希望对你有一定的帮助


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

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

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

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

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

函数声明

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

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 arguments
var adder = new Function('a', 'b', 'return a + b');
// Call the function
adder(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中定义函数的类型有啥,怎么实现已经有了进一步的了解,如果想要了解更多相关的内容,欢迎关注群英网络,群英网络将为大家推送更多相关知识点的文章。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: 定义函数
相关信息推荐
2022-08-31 17:23:54 
摘要:本篇文章给大家介绍原生js是怎么实现全选和反选的功能的,希望对需要的朋友有所帮助!
2022-07-09 17:35:45 
摘要:方法:1、用“array_shift(数组)”删除第一个值;2、用“array_pop(数组)”删除最后一个值;3、用“unset($数组名[下标])”删除指定下标的值;4、用“array_splice(数组,位置,1)”删除指定位置的值。
2022-10-08 17:52:23 
摘要:php 5.3.3 以后的php-fpm 不再支持 php-fpm 以前具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,所以不要再看这种老掉牙的命令了,需要使用信号控制。
云活动
推荐内容
热门关键词
热门信息
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部