call, apply, and bind

by Wentz Wu

JavaScript

var person = {
  firstName: "Bruce",
  lastName: "Wu",
  sayHello: function(msg1, msg2) {
    console.log("Hello! " + this.firstName);
    if (msg1) {
      console.log(msg1);
    }
    if (msg2) {
      console.log(msg2);
    }
    console.dir(arguments);
    console.dir([].slice.call(arguments,1,2));
  }
};

var alice = {
  firstName: "Alice"
};

person.sayHello.call(alice,"msg1","msg2");

//person.sayHello();