2

C++ で何かを定義する方法を知っています。例えば:

#define ce cout<<"\n";

今、ce出力されるコードのどこかを使用するcout<<"\n";
と、このJavaSvriptで試しています:

#define go document.write

だから、何かを表示/出力したい場合は、書きたい

go('Great!');

これGreat!でブラウザに出力されます。しかし、このdefineメソッドは JavaScript では機能しません

4

4 に答える 4

3

別のオプションは withObject.definePropertyです。これにより、書き込み可能、​​構成可能、または列挙可能ではないものを設定できます...特にwindowオブジェクトに設定できます(したがって、グローバルアクセスがあります)。これを試して:

Object.defineProperty(window, "go", {
    enumerable: false,
    configurable: false,
    writable: false,
    value: function (msg) {
        console.log(msg);
    }
});

デモ: http://jsfiddle.net/xm3mT/

valueを匿名関数として設定する代わりに、次bindのように を使用できます。

value: console.log.bind(console)

私の最初の例を使用しても問題ありませんが。

の使用については正確にはわかりませdocument.writeんが、通常は使用したくないでしょう...もちろん、それはあなた次第です。それにもかかわらず、私console.logは例として代わりに使用しました。

参考文献:

于 2013-05-07T18:54:07.473 に答える