JavaScript中函数的定义以及使用
2017-12-13 17:14
609 查看
JavaScript中函数的定义以及使用
一、函数的定义函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。JavaScript 函数语法,函数就是包裹在花括号中的代码块,前面使用了关键词 function: 当调用该函数时,会执行函数内的代码。可以在某事件发生时直接调用函数(比如当用户点击按钮时),并且可由 JavaScript 在任何位置进行调用
二、函数的3种声明方式
1.普通的函数声明
2.使用变量初始化函数
3.使用function构造函数
不推荐使用第3种方法初始化一个函数,因为系统会进行俩次解析,影响性能。
三、function函数中的几个常用方法
1.arguments.callee方法
具体的使用方法如下
首先我们写一个递归函数如下;
从以上代码我们可以看出,我们在每次调用sum方法的时候当传递的参数>1的时候,代码每次都会调用自己本身直到传递的参数<=1为止,虽然我们可以通过调用自己的函数名称来完成调用,但是当我们多次调用本身函数的时候,如果我们改变函数名称,那么调用的位置也需要改变,为了提高代码的维护性所以我们可以通过调用arguments.callee方法来实现以上操作。
使用arguments.callee的方法代
4000
码如下;
在说明其它函数之前先说明下在JavaScript中window关键字与this关键字
1.window关键字
(1)方式一
代码部分:
运行结果:
(2)方式2
代码部分:
运行结果:
从上面的运行结果我们可以看出number是全局变量,而这个变量又是window的属性,window是最大的属性。
2.this关键字
代码部分;
运行结果;
(1)
(2)
从运行结果我们可以看出第一次打印出的结果中this调用的全局变量中的number,第二次调用num变量中的showNumber函数所打印出的结果this调用的是num对象中的number属性得值。
3.call方法和apply方法
代码部分;
运行结果;
从上面运行结果我们可以看出apply方法可以冒充add方法进行俩个数相加操作,在这里apply方法中传递的俩个参数,this表示window的作用域,[]表示数组参数。call也可以实现这一功能只不过传递参数的方式略有不同,第二个参数不是数组而是变量值比如在apply方法中传入的值为[number1,number2]在call方法中传入的就是number1,number2.
上面的代码是apply方法和call方法的一种使用形式,但apply方法和call方法还存在着另一种使用方式并且更加重要。apply方法和call方法还可以改变变量的作用域。
代码部分;
运行结果;
(1)
(2)
(3)
从运行结果我们可以看出在我们没调用call方法和apply方法的时候运行的结果为121200,说明this引用的对象是全局对象中的number,当我们调用call方法和apply方法时运行的结果为121201,说明this引用的对象为num对象中的number属性 ,从以上结果我们可以看出apply方法和call方法不光可以冒充其他函数运行,还可以改变变量的作用域。
相关文章推荐
- javascript入门系列演示·函数的定义以及简单参数使用,调用函数
- javascript入门系列演示·函数的定义以及简单参数使用,调用函数
- javascript中是否使用var定义的区别,以及有名函数和匿名函数的区别。
- javascript入门系列演示·函数的定义以及简单参数使用,调用函数
- JavaScript DOM 中setAttribute()的使用 以及点击鼠标返回函数的处理
- JavaScript DOM 中setAttribute()的使用 以及点击鼠标返回函数的处理
- javascript入门系列演示·函数的定义以及简单参数使用,调用函数 .txt
- kettle中使用javascript步骤和fireToDB函数实现自己定义数据库查询
- Javascript定义函数和this使用
- JavaScript DOM 中setAttribute()的使用 以及点击鼠标返回函数的处理
- JavaScript中简单函数定义调用,以及函数劫持
- JavaScript DOM 中setAttribute()的使用 以及点击鼠标返回函数的处理
- javascript 中使用变量存储的函数与不使用变量存储的函数的加载区别,以及其中this对象的区别
- JavaScript DOM 中setAttribute()的使用 以及点击鼠标返回函数的处理
- JavaScript DOM 中setAttribute()的使用 以及点击鼠标返回函数的处理
- 关于Javascript定义函数和this使用的两点注意的地方
- python 函数定义和内置函数isinstance以及数据类型检查type的使用
- Android中Webview使用javascript调用事先定义好的Java函数
- JavaScript DOM 中setAttribute()的使用 以及点击鼠标返回函数的处理
- 全局变量的定义以及函数内怎么使用局部变量和全局变量?