3

私が欲しいもの

コンソールに文字列を記録する関数を作成したいと考えています。以下は、私が望むものを示すための単なる例です。

var helloWorld = 'Hello World';
helloWorld.log();

function log(string)
{
   console.log(string);
}

部品が期待どおりに機能していませんが、これを実行したいのhelloWorld.log();ですが、方法がわかりません。

私が試したこと

この例を見ると

1

(function($) {
  $.fn.log= function() {
    console.log($(this));
  };
})(jQuery);

2

var log = function() {
    console.log($(this));
}

3

jQuery.fn.log = function(){
    console.log($(this));
}

私を怒らせるエラー

TypeError: helloWorld.log は関数ではありません

4

3 に答える 3

6

hello world 変数 (文字列) に出力したい場合は、プロトタイプ関数を使用してログ メソッドを文字列に提供できます。

たとえば、次のようなものです。

String.prototype.log= function() {
    console.log(this.toString());
});

次に、呼び出すときにhelloWorld.log()この関数を呼び出す必要があります。

于 2013-01-08T11:02:00.073 に答える
3

これを行う"Hello World".log()には、ネイティブの String オブジェクトを拡張する必要があります。たとえば、次のようになります。

String.prototype.log = function() { console.log(this); }

logの代わりに使用するには、次のconsole.logようなものが必要です。

window.log = (window.console && window.console.log && window.console.log.bind) ?
    console.log.bind(console) : 
    function (e) {alert(JSON.stringify(e)); };
于 2013-01-08T11:02:45.870 に答える
0

を に変更helloWorld.log();log(helloWorld);ます。

これは役立つかもしれません

于 2013-01-08T11:01:23.493 に答える