我可以收听使用 javascript 的函数调用吗? [英] can i listen to a function call using javascript?

查看:21
本文介绍了我可以收听使用 javascript 的函数调用吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使用 javascript 监听带有参数的特定函数调用:

How can i listen to a specific function call with parametters using javascript:

示例:当调用 showname(2) 时,我也可以执行一些操作,例如调用另一个函数,showage(2)

example : when showname(2) is called i can do something like call another function too, showage(2)

推荐答案

你可以包装它:

var native = window.alert;

window.alert = function(){
    console.log('alerting...');
    native.apply(window, arguments);
    console.log('alerted!');
};

alert('test');

更新

您可以使用 getter 和/或 setter 对属性执行类似的操作:

update

you can do something similar with properties, using getters and/or setters:

var foo = {
     bar = 'baz'
};

进入

var foo = {
    _bar: 'baz',
    get bar(){
        console.log('someone is taking my bar!');
        return this._bar;
    },
    set bar(val){
        console.log('someone pretends to set my bar to "' + val + '"!');
        this._bar = val;
    }
};

alert(foo.bar);

foo.bar = 'taz';

封装(私有_bar):

var foo = function(){
    var _bar = 'baz';

    return {
        get bar(){
            console.log('someone is taking my bar!');
            return _bar;
        },
        set bar(val){
            console.log('someone pretends to set my bar to "' + val + '"!');
            _bar = val;
        }
    };
}();

这篇关于我可以收听使用 javascript 的函数调用吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆