私はRubyとしてjavascriptでシステムを構築しようとしています。例えば関数を自動的に検出して値を返す方法
私は、関数aを定義するとき、どのように(ないa()
)a
を呼び出し、1
を得ることができますか?
var a = function(){
return 1;
}
console.log(a);//wanted result 1, not function(){...}
console.log(a());//it's okay.
私はそれが走っ前に、関数としてa
を検出するようにmacro
を使用可能にし、自動的にa()
に変更することができると思います、しかし、私は、私はそれを行うことができますどのように任意のアイデアを、持っていません。 私を助けてください。
更新:関数型変数を検出する関数が見つかりましたが、どのように使用できるかわかりません。一つの簡単な方法はこれを行うにはすぐに呼び出される関数の式を用いることであろう
function getValue(str) {
return 'Hello ' + str;
}
function Person(fname, lname){
this.fname = fname;
this.lname = lname;
Object.defineProperty(this, 'fullName', {
get: function(){
return this.fname + ' ' + this.lname
}
});
Object.defineProperty(this, 'greet', {
get: function(){
return getValue(this.fullName)
}
});
}
var p = new Person('foo', 'bar');
console.log(p.greet)
"システムをルビーとしてjavascriptで"とは何を意味するのか不明です。 – sawa
私は1を得るために 'a'ではなく' a'を使いたい、@ Rajeshの答えは同じです –
なぜこれをしたいですか?言語を変更したいと思うようです。 –