You should be able to use the available property to build the url you require. Just be aware that many of the property must be accessed with a get_method sintax.
For the SP.Site use the get_url() "property". For the SP.Web use the get_serverRelativeUrl() property and build up the full url.
For the list... don't know if there is an easier way, but you can resort to the get_serverRelativeUrl() property of the root folder (SP.List.get_rootFolder();). Then build the full url from there.
EDIT: As a reference for those that are using the "Microsoft.SharePoint.Client" namespace. On the Site object you can use the .Url property. Since the Web object does not provide an Url property use the ServerRelativeUrl one and build the full url as needed. Also, you must still compensate for the List object not providing any url property. As above, you can resort using the ServerRelativeUrl of the RootFolder of the list.