IT戦記 このページをアンテナに追加 RSSフィード

2007-05-17

JavaScript の関数を「引数そのまま返す化」

関数を「引数そのまま返す化」

// sonomama の s
Function.prototype.s  = function(arg) 
    this(arg);  // 本来の処理
    return arg; // そのまま返す
}

例1

hoge.method(); // ← この hoge を調べたい
alertだけ
alert(hoge);
hoge.method();

改行めんどいー。

console.logだけ
console.log(hoge);
hoge.method();

改行めんどいー。

alert + そのまま返す化
alert.s(hoge).method(); // 1 ステートのまま
console.log + そのまま返す化
console.log.s(hoge).method(); // 1 ステートのまま

例2

function hoge() {
    // ...略...
    return fuga(); // ← 何が return されたかみたい 
}
alertだけ
function hoge() {
    // ...略...
    var result = fuga();
    alert(result);
    return result; 
}

変数追加めんどい

console.logだけ
function hoge() {
    // ...略...
    var result = fuga();
    console.log(result);
    return result; 
}

変数追加めんどい

alert + そのまま返す化
function hoge() {
    // ...略...
    return alert.s(fuga()); 
}
console.log + そのまま返す化
function hoge() {
    // ...略...
    return console.log.s(fuga()); 
}

うわー。

簡単で便利ー

brazilbrazil 2007/05/18 06:56 JavaScript Shell
http://www.squarefree.com/shell/

pr(expr): prints and returns its input

ログがそうなってるといいと思う。
観察対象に影響を与えないというか。

anonanon 2007/05/18 18:26 ステート→ステートメント?

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。