广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >javascript中的函数知识点有哪些
  • 804
分享到

javascript中的函数知识点有哪些

2024-04-02 19:04:59 804人浏览 薄情痞子
摘要

这篇文章主要讲解了“javascript中的函数知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript中的函数知识点有哪些”吧!Ja

这篇文章主要讲解了“javascript中的函数知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript中的函数知识点有哪些”吧!

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

函数可以通过声明定义,也可以是一个表达式,函数声明后不会立即执行,会在我们需要的时候调用到。

函数声明

语法如下:

function ( 函数名)functionName(parameters(参数)) {

  执行的代码

}

分号是用来分隔可执行JavaScript语句, 由于函数声明不是一个可执行语句,所以不以分号结束。

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

函数表达式:

JavaScript 函数可以通过一个表达式定义,函数表达式可以存储在变量中,在函数表达式存储在变量后,变量也可作为一个函数使用。

函数存储在变量中,不需要函数名称,通常通过变量名来调用,函数实际上是一个 匿名函数 (函数没有名称)。

Function() 构造函数:

函数同样可以通过内置的 JavaScript 函数构造器(Function())定义。

在 JavaScript 中,很多时候,你需要避免使用 new 关键字。

函数提升(Hoisting):

提升(Hoisting)是 JavaScript 默认将当前作用域提升到前面去的行为。

提升(Hoisting)应用在变量的声明与函数的声明。

因此,函数可以在声明之前调用:

使用表达式定义函数时无法提升。

自调用函数:

函数表达式可以 "自调用",函数实际上是一个 匿名自我调用的函数 (没有函数名)。

自调用表达式会自动调用。

如果表达式后面紧跟 () ,则会自动调用。

不能自调用声明的函数。

通过添加括号,来说明它是一个函数表达式。

JavaScript 函数作为一个值使用:

JavaScript 函数可作为表达式使用

自调用函数语法:(functin(){})()

函数是对象:

在 JavaScript 中使用 typeof 操作符判断函数类型将返回 "function" 。

但是JavaScript 函数描述为一个对象更加准确。

JavaScript 函数有 属性 和 方法。

arguments.length 属性返回函数调用过程接收到的参数个数。

toString() 方法将函数作为一个字符串返回。

函数定义作为对象的属性,称之为对象方法,函数如果用于创建新的对象,称之为对象的构造函数。

函数参数

函数 "显式参数(Parameters)" 与 "隐式参数(Arguments)"。

显式参数(Parameters):函数显式参数在函数定义时列出。

隐式参数(Arguments):函数隐式参数在函数调用时传递给函数真正的值。

参数规则:

JavaScript 函数定义时显式参数没有指定数据类型。

JavaScript 函数对隐式参数没有进行类型检测。

JavaScript 函数对隐式参数的个数没有进行检测。

。。。。。。

如果函数在调用时未提供隐式参数,参数会默认设置为: undefined

有时这是可以接受的,但是建议最好为参数设置一个默认值:

如果函数调用时设置了过多的参数,参数将无法被引用,因为无法找到对应的参数名。 只能使用 arguments 对象来调用。

Arguments 对象:

JavaScript 函数有个内置的对象 arguments 对象。

通过这种方式你可以很方便的找到最大的一个参数的值。

通过值传递参数:

在函数中调用的参数是函数的隐式参数。

JavaScript 隐式参数通过值来传递:函数仅仅只是获取值。

如果函数修改参数的值,不会修改显式参数的初始值(在函数外定义)。

隐式参数的改变在函数外是不可见的。

通过对象传递参数:

在JavaScript中,可以引用对象的值。

因此我们在函数内部修改对象的属性就会修改其初始的值。

修改对象属性可作用于函数外部(全局变量)。

修改对象属性在函数外是可见的。

JavaScript 函数调用

JavaScript 函数有 4 种调用方式。

每种方式的不同在于 this 的初始化。

this 关键字:

一般而言,在Javascript中,this指向函数执行时的当前对象。注意: this 是保留关键字,你不能修改 this 的值。

调用 JavaScript 函数,函数中的代码在函数被调用后执行。

html 中默认的全局对象是 HTML 页面本身,所以函数是属于 HTML 页面。

在浏览器中的页面对象是浏览器窗口(window 对象),myFunction() 和 window.myFunction() 是一样的。

这是调用 JavaScript 函数常用的方法, 但不是良好的编程习惯 ,全局变量,方法或函数容易造成命名冲突的bug。

全局对象:

当函数没有被自身的对象调用时 this 的值就会变成全局对象。

WEB 浏览器中全局对象是浏览器窗口(window 对象)。

函数作为全局对象调用,会使 this 的值成为全局对象,使用 window 对象作为一个变量容易造成程序崩溃。

函数作为方法调用:

在 JavaScript 中你可以将函数定义为对象的方法。

函数作为对象方法调用,会使得 this 的值成为对象本身。

使用构造函数调用函数:

如果函数调用前使用了 new 关键字, 则是调用了构造函数。

构造函数的调用会创建一个新的对象。新对象会继承构造函数的属性和方法。

构造函数中 this 关键字没有任何的值,this 的值在函数调用实例化对象(new object)时创建。

作为函数方法调用函数:

在 JavaScript 中, 函数是对象。JavaScript 函数有它的属性和方法。

call() 和 apply() 是预定义的函数方法。 两个方法可用于调用函数,两个方法的第一个参数必须是对象本身。

两个方法都使用了对象本身作为第一个参数。 两者的区别在于第二个参数: apply传入的是一个参数数组,也就是将多个参数组合成为一个数组传入,而call则作为call的参数传入(从第二个参数开始)。

在 JavaScript 严格模式(strict mode)下, 在调用函数时第一个参数会成为 this 的值, 即使该参数不是一个对象。

在 JavaScript 非严格模式(non-strict mode)下, 如果第一个参数的值是 null 或 undefined, 它将使用全局对象替代。

通过 call() 或 apply() 方法你可以设置 this 的值, 且作为已存在对象的新方法调用。

this 是 JavaScript 语言的一个关键字。它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。

随着函数使用场合的不同,this 的值会发生变化。但是有一个总的原则,那就是this指的是,调用函数的那个对象。

JavaScript 闭包

JavaScript 变量可以是局部变量或全局变量,私有变量可以用到闭包,函数可以访问由函数内部定义的变量。

在web页面中全局变量属于 window 对象,全局变量可应用于页面上的所有脚本。

局部变量只能用于定义它函数内部。对于其他的函数或脚本代码是不可用的。

全局和局部变量即便名称相同,它们也是两个不同的变量。修改其中一个,不会影响另一个的值。

变量声明时如果不使用 var 关键字,那么它就是一个全局变量,即便它在函数内定义。

变量生命周期:

全局变量的作用域是全局性的,即在整个JavaScript程序中,全局变量处处都在。

而在函数内部声明的变量,只在函数内部起作用。这些变量是局部变量,作用域是局部性的;函数的参数也是局部性的,只在函数内部起作用。

计数器困境:

设想下如果你想统计一些数值,且该计数器在所有函数中都是可用的,你可以使用全局变量,函数设置计数器递增。

JavaScript 内嵌函数:

所有函数都能访问全局变量。  

实际上,在 JavaScript 中,所有函数都能访问它们上一层的作用域。

JavaScript 支持嵌套函数。嵌套函数可以访问上一层的函数变量。

闭包是可访问上一层函数作用域里变量的函数,即便上一层函数已经关闭。

感谢各位的阅读,以上就是“javascript中的函数知识点有哪些”的内容了,经过本文的学习后,相信大家对javascript中的函数知识点有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: javascript中的函数知识点有哪些

本文链接: https://www.lsjlt.com/news/85730.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • javascript中的函数知识点有哪些
    这篇文章主要讲解了“javascript中的函数知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript中的函数知识点有哪些”吧!Ja...
    99+
    2022-10-19
  • JavaScript匿名函数知识点有哪些
    这篇文章主要介绍了JavaScript匿名函数知识点有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript匿名函数知识点有哪些文章都会有所收获,下面我们一起来...
    99+
    2022-10-19
  • javascript Async函数相关知识点有哪些
    本篇内容介绍了“javascript Async函数相关知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学...
    99+
    2022-10-19
  • python中函数知识点有哪些
    这篇文章主要介绍python中函数知识点有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!函数参数的两大分类形式参数函数定义阶段括号所写的参数实际参数函数调用阶段括号内传入的参数形参与实参的关系可以将形参看成是变量...
    99+
    2023-06-25
  • JavaScript中数组的知识点有哪些
    这篇文章主要讲解了“JavaScript中数组的知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript中数组的知识点有哪些”吧!数组...
    99+
    2022-10-19
  • JavaScript BOM知识点有哪些
    本篇内容主要讲解“JavaScript BOM知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript BOM知识点有哪些”吧!1、BOM 简介   所谓的 BOM 即浏览...
    99+
    2023-06-04
  • javascript小知识点有哪些
    本篇内容主要讲解“javascript小知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript小知识点有哪些”吧!设置图片时<image scr="&qu...
    99+
    2023-06-04
  • C语言函数的知识点有哪些
    这篇文章主要介绍“C语言函数的知识点有哪些”,在日常操作中,相信很多人在C语言函数的知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言函数的知识点有哪些”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-30
  • js函数相关知识点有哪些
    这篇文章将为大家详细讲解有关js函数相关知识点有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在js种函数实际上是对象,每个函数都是Function类型的实例。和其他...
    99+
    2022-10-19
  • 常见的JavaScript知识点有哪些
    这篇文章主要讲解了“常见的JavaScript知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“常见的JavaScript知识点有哪些”吧!1.声明...
    99+
    2022-10-19
  • JavaScript的底层知识点有哪些
    这篇文章将为大家详细讲解有关JavaScript的底层知识点有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。JavaScript是一门直译式的解释型脚本语言,它具有动...
    99+
    2022-10-19
  • JavaScript事件的知识点有哪些
    今天小编给大家分享一下JavaScript事件的知识点有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一...
    99+
    2022-10-19
  • JavaScript之DOM的知识点有哪些
    这篇文章主要介绍“JavaScript之DOM的知识点有哪些”,在日常操作中,相信很多人在JavaScript之DOM的知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2022-10-19
  • JavaScript面试的知识点有哪些
    这篇“JavaScript面试的知识点有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“...
    99+
    2022-10-19
  • 常用的JavaScript知识点有哪些
    这篇文章主要介绍“常用的JavaScript知识点有哪些”,在日常操作中,相信很多人在常用的JavaScript知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”常用的JavaScript知识点有哪些...
    99+
    2023-07-05
  • JavaScript学习知识点有哪些
    这篇文章主要为大家展示了“JavaScript学习知识点有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript学习知识点有哪些”这篇文章吧。一...
    99+
    2022-10-19
  • JavaScript基础知识点有哪些
    这篇文章主要介绍“JavaScript基础知识点有哪些”,在日常操作中,相信很多人在JavaScript基础知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java...
    99+
    2022-10-19
  • JavaScript模块知识点有哪些
    这篇文章主要介绍“JavaScript模块知识点有哪些”,在日常操作中,相信很多人在JavaScript模块知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java...
    99+
    2022-10-19
  • JavaScript面试知识点有哪些
    这篇文章主要介绍了JavaScript面试知识点有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript面试知识点有哪些文章都会有所收获,下面我们一起来看看吧。...
    99+
    2022-10-19
  • C++函数与重载知识点有哪些
    本文小编为大家详细介绍“C++函数与重载知识点有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++函数与重载知识点有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。函数的默认(缺省)参数1、默认参数的定...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作