js中函数调用

总共有四种  

1
函数调用模式   这种事最常见的 也是最简单的

// 声明一个函数,并调用
function func() {
    console.log("Hello World");
}
func();

//输出是 Hello World

或者写成这样
// 使用函数的Lambda表达式定义函数,然后调用
var func = function() {
    console.log("你好,高帆");
};
func();
//输出是 你好,高帆
//javascirpt中,函数可以用箭头语法(”=>”)定义,有时候也叫“lambda表达式”。

2

方法调用模式

将函数赋值给对象的成员后 那么这个就不在称为函数 而应该叫做方法

// 定义一个函数
var func = function() {
    console.log("我是?");
};
// 将其赋值给一个对象
var o = {};
o.fn = func; // 注意这里不要加圆括号
// 调用
o.fn();

//输出我是?

o.fn 则是方法,不是函数了

3

构造器模式

在一般函数模式下,this 表示 window;在对象方法模式下,this 指的是当前对象。除了这两种情况,JavaScript 中函数还可以是构造器   函数作为构造器模式使用就是在函数调用前面加上一个 new

// 定义一个构造函数
var Person = function() {
    this.name = "中国";
    this.sayHello = function() {
        console.log("你好" + this.name);
    };
};
// 调用构造器,创建对象
var p = new Person();
// 使用对象
p.sayHello();
//输出是 你好中国

首先创建一个构造函数Person,然后使用构造函数创建对象p。这里使用 new 语法。然后在使用对象调用sayHello()方法

扫描二维码关注公众号,回复: 305748 查看本文章

4

apply调用模式

apply 模式既可以像函数一样使用,也可以像方法一样使用

函数名.apply(对象, 参数数组)

1、新建两个 js 文件,分别为”js1.js”与”js2.js”;

2、添加代码

// js1.js 文件中
var func1 = function() {
    this.name = "高帆";
};
func1.apply(null);
console.log(name);

// js2.js 文件
var func2 = function() {
    this.name = "程序员";
};
var o = {};
func2.apply(o);
console.log(o.name);

 使用 apply 模式 可以任意的操作控制 this 的意义

js 中的函数调用有四种模式,分别是:函数式、方法式、构造 器式和 apply 式. 而这些模式中,this 的含义分别为:在函数中 this 是全局对象 window,在方 法中 this 指当前对象,在构造函数中 this 是被创建的对象,在 apply 模式中 this 可以随意的指定.。在 apply 模式中如果使用 null,就是函数模式,如果使用对象,就是方法模式。

猜你喜欢

转载自gaofan0528.iteye.com/blog/2364036