JS-认识什么是函数及函数的调用

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/javascript_meng/article/details/99873773

什么是函数
函数是完成某个特定功能的一组语句。如没有函数,完成任务可能需要五行、十行、甚至更多的代码。这时我们就可以把完成特定功能的代码块放到一个函数里,直接调用这个函数,就省重复输入大量代码的麻烦。

如何定义一个函数呢?基本语法如下:

function 函数名()
{
     函数代码;
}

说明:

  1. function定义函数的关键字。

  2. "函数名"你为函数取的名字。

  3. "函数代码"替换为完成特定功能的代码。

请看下面实例:

var add2;
function add2(){
   var sum = 3 + 2;
   alert(sum);
}

函数调用

JavaScript 函数有 4 种调用方式:

  1. 作为一个函数调用
  2. 函数作为方法调用
  3. 使用构造函数调用函数
  4. 作为函数方法调用函数

this 关键字

每种方式的不同在于 this 的初始化。
一般而言,在Javascript中,this指向函数执行时的当前对象。
(注意 this 是保留关键字,不能修改 this 的值。)

作为一个函数调用

实例

function myFunction(a, b) {
    return a * b;
}
myFunction(10, 2);           // myFunction(10, 2) 返回 20

以上函数不属于任何对象。但是在 JavaScript 中它始终是默认的全局对象。
在 HTML 中默认的全局对象是 HTML 页面本身,所以函数是属于 HTML 页面。
在浏览器中的页面对象是浏览器窗口(window 对象)。以上函数会自动变为 window 对象的函数。

函数作为方法调用

实例

var myObject = {
    firstName:"John",
    lastName: "Doe",
    fullName: function () {
        return this.firstName + " " + this.lastName;
    }
}
myObject.fullName();         // 返回 "John Doe"

fullName 方法是一个函数。函数属于对象。 myObject 是函数的所有者。
this对象,拥有 JavaScript 代码。实例中 this 的值为 myObject 对象。

使用构造函数调用函数

实例

// 构造函数:
function myFunction(arg1, arg2) {
    this.firstName = arg1;
    this.lastName  = arg2;
}
 
// This    creates a new object
var x = new myFunction("John","Doe");
x.firstName;                             // 返回 "John"

构造函数的调用会创建一个新的对象。新对象会继承构造函数的属性和方法。
注意:
(构造函数中 this 关键字没有任何的值。
this 的值在函数调用实例化对象(new object)时创建。)

作为函数方法调用函数

实例

function myFunction(a, b) {
    return a * b;
}
myObject = myFunction.call(myObject, 10, 2);     // 返回 20

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

猜你喜欢

转载自blog.csdn.net/javascript_meng/article/details/99873773
今日推荐