$(function(){ //代码阅读能力 function speak(name){ return "Hello " + name; } //此处写代码 //方法一
//重点是bind的第二个参数会直接插入到callback的参数列表的第一个位置。
Function.prototype.wrap = function(callback) { return callback.bind(this, this); };
//方法二
/*speak.wrap = function(callback){ var _this = this; return function a(yourName, myName){ return callback(_this, yourName, myName); } }*/
speak = speak.wrap(function(original, yourName, myName){
var greeting = original(yourName); return greeting + ", my name is " + myName; }) //console.log(speak) var greeting = speak("Mary", "Kate"); console.log(greeting); })