javascript中的函数
Posted 河泽而渔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript中的函数相关的知识,希望对你有一定的参考价值。
本文从 5个方面来说明函数。
- 函数的定义,函数是 一组可复用的 代码。把常用的公共的代码 封装成函数,可以避免 来回的复制粘贴 ,既需要 搜索代码 又需要粘贴复制的,费时耗力 而且 会造成大量冗余的代码。写成函数,我们只需 调用该函数,传入必要的参数即可。方便高效。
- 函数的分类:
- 从用途方面 分为 普通函数和构造函数,一个作作普通调用,一个用来 结合 new关键字 创建新的函数实例;
- 从 构建方式的不同 划分为 函数声明和函数表达式,区别如下:
- 函数声明 结合 function 关键字 + 函数名 + ()+{}。 会有 函数声明的提升。
- 函数表达式可以理解为:变量声明 、匿名函数声明 、 赋值表达式 的结合体。既有 变量的提升(初始undefined),也有 匿名函数声明的提升。
- 函数的属性:每个函数 都有一些 属性,这些属性 有时候会很有用
- length,返回函数的形参的个数。
- prototype,经由本函数构造的实例 会继承的方法的包含所在。
- 某些自定的属性。。
- 函数内部的属性,不经由函数+‘ . ‘ 调用的内部属性:
- arguments:类数组对象,包含传入的实参。arguments有个属性 callee 指向 包含arguments的当前函数。
- this。指向当前函数作为方法 归属的主体,如果该函数是作为某个对象的方法调用,那么该函数内部属性的this指向 该对象。
- 函数的方法:
- call(obj,arg1,arg2):
- 改变函数内部的this指向obj。
- 分别传入实参 arg1,arg2.。。,跟函数的形参对应。
apply(obj,arguments): - 改变函数内部的this指向obj。
- 分别传入实参类数组列表 arguments,跟函数的形参对应。
- 返回函数实例。
- bind(obj,arg1,arg2)
- 函数this指向 obj。
- 需要调用返回的函数实例,才会执行。
- call(obj,arg1,arg2):
- 易错点:
- js中的函数没有重载现象(允许多个同名函数,接受不同的参数的存在。),同一作用域下(execution context),只能存在一个同名的函数,或者是变量。如果同名现象存在,后面的会覆盖前面的。
以上是关于javascript中的函数的主要内容,如果未能解决你的问题,请参考以下文章