0

オブジェクトのプロパティを関数として宣言するだけでなく、同時にオブジェクトとしても宣言する方法があるかどうか疑問に思っていました。

AJAX 要求をサーバーに送信する単純な API を提供する JavaScript プログラムがあります。私の目標は、この API をできる限りシンプルで人間が読めるようにすることです。

基本的に、私はこれを可能にしたいと思います:

var app = new App();
app.get.client(123) // Get client ID 123
app.get.client.list() // Get an array of all clients
app.login('username', 'password') // Send credentials to log as username/password
app.login.as('John') // Login using credentials stored in a server-side constant

私はそのようなことは一度もなかったので、それが可能であるとは思えませんが、メソッドをレイアウトするためのより明確で人間が読める方法は考えられません。きっといいでしょう!

4

1 に答える 1

2

関数もオブジェクトです!

app.get.client = function(id) {
    // Get client by ID
};

app.get.client.list = function() {
    // List them
};

期待どおりに動作します。


個人的には、しかし、私は見つけるだろう:

app.clients.byId(123)
app.clients
app.login('username', 'password')
app.loginAs('John')

より読みやすく。

于 2013-03-07T18:52:42.793 に答える