猴子补丁 Monkey-patch(重写方法)

//p86
var http = require('http');
/*
//向浏览器输出图片
http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'img/png'});
    var stream = require('fs').createReadStream('dsd.png');
    stream.on('data', function (data) {
        res.write(data);
    });
    stream.on('end', function () {

        res.end();
    })
}).listen(3000);*/

/*
//上个例子的简写
http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'application/jpg'});
 var stream = require('fs').createReadStream('dsd.png').pipe(res);
//console.dir(res);
}).listen(3000);*/


//monkey-patch例1
http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/html'});
    var  end=res.end;
    //重写方法()
    res.end=function(chunk,encode){

       // console.log(chunk);

        res.end=end;//保持原有功能
        //添加自己的功能
        res.end(chunk+"myEnd",encode);
        res.end
    }
    res.end("fangchao ",'utf8');//网页最后输出结果为   fangchao myEnd
}).listen(3000);


//monkey-patch例子2
var fun = function (data) {
    console.log('改写之前:' + data);
}
var fun1 = fun;
fun = function (data) {
    fun = fun1;
    fun('这是改写之后:' + data); //结果:==    改写之前:这是改写之后:fff
}
fun('fff');



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值