
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
函数的应用在许多软件开发项目中都是非常常见的一个编程开发元素,而本文我们就通过案例分析来简单了解一下,JavaScript编程函数应用分析。
1.函数声明和函数表达式
函数声明具有声明提前/声明提升的特性,这一点和变量的声明特性相似,执行代码之前会先读取函数声明和变量声明,意味着可以把函数声明放在调用它的语句后面,但变量声明肯定好不要这样,因为常伴随undefined问题。
函数声明的函数名称和函数体都提前,而函数表达式只是变量声明提前(而变量的初始化代码仍然在原来的位置)。
2.函数调用
构成函数主体的代码定义时并不会执行,调用函数时才会执行,有4中方式调用函数:
作为函数
作为方法
作为构造函数
通过call()和apply()方法间接调用
①作为函数调用的注意点,严格模式下调用上下文是undefined,所以通常不使用this关键字,②作为方法调用的话调用上下文就是方法所在的对象,this关键字引用着该对象。③而嵌套函数不会从调用它的函数中继承this,如果想访问外部的this,可以用变量保存this的值。④构造函数调用会使用新创建的对象作为调用上下文。
3.函数的参数相关
可选形参
当传入的实参比函数声明时指定的形参数量要少,剩下的形参都将设置为undefined值(实参多则会自动省略)。所以在合适的场景就可以选择使用可选形参:
将对象属性用作实参:当一个函数的形参过多(比如超过3个),调用时记住实参的正确顺序不容易。这时可以把形参写成一个对象,就没有参数顺序的影响了,而且还可以在取值的时候使用||符号设置默认值。当然,形参不多就不需这样做,效率会低一些。
在每个形参左边使用类似/*array*/的类型注释。在函数体内应该要有实参类型检查的逻辑,在传入非法值时报错。
自定义函数属性:函数是一种特殊的对象,所以在适当的时候可以给函数定义属性,比如函数需要一个“静态变量”:
call()和apply()
call()和apply()是函数的方法,通过调用方法的形式来简介调用函数,我们之前介绍继承的时候,有一个地方是借用超类型的构造函数,就是使用了call。它们的一个实参是要调用函数的母对象,它是调用上下文,函数体内通过this引用它。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。