前端学习之JavaScript(三)函数

本文深入探讨JavaScript函数的定义,包括命名函数、匿名函数和Function类定义。讲解了局部变量和全局变量的概念,以及函数的四种角色:函数、对象、方法和变量。还介绍了函数的调用方式,如直接调用、使用new关键字和call/apply方法。此外,文章讨论了函数的实例属性、类属性以及函数和变量同名时的覆盖问题,并简要介绍箭头函数的使用。
摘要由CSDN通过智能技术生成

函数的三种定义方式

1.定义命名函数
2.定义匿名函数:匿名函数的可读性更好,做常用的方法
3.利用Function类匿名函数:可读性差

局部函数

在函数里使用var定义的变量称为局部变量,在函数外定义的变量和在函数内不使用var定义的变量则称为全局变量,如果局部变量和全局变量的变量名相同,则局部变量会覆盖全局变量。局部变量只能在函数里访问,全局变量可以在所有的函数里访问
局部函数也在函数里定义。

JavaScript定义一个函数后,实际上可以得到如下4项。
➢函数:就像Java的方法一样,这个函数可以被调用。
对象:定义一个函数时,系统也会创建一个对象,该对象是Function 类的实例。
方法:定义一个函数时,该函数通常都会附加给某个对象、作为该对象的方法。
变量:在定义函数的同时,也会得到一个变量
➢**类:**在定义函数的同时,也得到了一个与函数同名的类。

调用函数的方式
➢直接调用函数:直接调用函数总是返回该函数体内最后一条return语句的返回值:如果该函数体内不包含return语句,则直接调用函数没有任何返回值。
➢使用new关键字调用函数:通过这种方式调用总有一个返回值,返回值就是一个JavaScript对象。

函数的实例属性和类属性
➢局部变量:在函数中以var声明的变量。
➢实例属性:在函数中以this 前缀修饰的变量。 ------------Java中的成员变量
➢类属性:在函数中以函数名前缀修饰的变量。 ------------类的静态变量

调用函数的三种方式
**1.直接调用函数:**是最常见、最普通的方式。这种方式直接以函数附加的对象作为调用者,在函数后括号内传入参数来调用函数。这种方式是前面最常见的调用方式,但不够灵活。

**2.以call()方法调用函数:**有时调用函数时需要动态地传入一个函数引用为了动态地调用函数,就需要使用call方法来调用函数

<script>
        var each = function(array,fn){
   
            for (var index in array) {
   
                fn.call(null,index,array[
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]:在前端JavaScript中,函数是一段可重复使用的代码块,用于执行特定的任务或操作。函数可以接收参数并返回值,可以在全局作用域或函数作用域中定义。在JavaScript中,函数作用域是指在函数内部定义的变量只能在函数内部访问,而全局作用域是指在函数外部定义的变量可以在整个脚本中访问。函数作用域在函数调用时创建,并在函数执行完毕后销毁。函数作用域可以访问全局作用域的变量,但全局作用域无法访问函数作用域的变量。\[2\] 引用\[3\]:在JavaScript中,还可以通过自定义原型方法来扩展字符串的功能。例如,可以使用自定义的原型方法来实现字符串去重功能。可以定义一个名为zque的原型方法,该方法使用一个对象来记录字符串中出现的字符,并通过遍历字符串的每个字符来判断是否已经出现过,如果没有出现过则将其添加到结果字符串中。另外,还可以使用正则表达式来实现去除连续字符串的功能,通过使用replace方法和正则表达式,可以将连续重复的字符替换为单个字符。\[3\] 所以,前端JavaScript函数可以用于执行特定任务或操作,可以在全局作用域或函数作用域中定义,函数作用域在函数调用时创建并在函数执行完毕后销毁,函数作用域可以访问全局作用域的变量,但全局作用域无法访问函数作用域的变量。此外,还可以通过自定义原型方法来扩展字符串的功能,例如实现字符串去重和去除连续字符串的功能。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [Unity3D用c#脚本调用前端javascript函数:H5获取unity - webgl 加载并初始化完成的消息](https://blog.csdn.net/weixin_42412098/article/details/115374697)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [web前端-JavaScript中的函数(创建,参数,返回值,方法函数作用域,立即执行函数)](https://blog.csdn.net/weixin_46277553/article/details/125242800)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [前端JavaScript方法函数大全](https://blog.csdn.net/huang714/article/details/122177439)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值