$(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);
})