---
title: Location Object
---
## Location Object
The "Location" object provides an API (Application Programming Interface) which enables retrieval of a URL, setting of a URL, or access to parts of a URL. It is already implemented for you by default on the Window and Document objects. 
Note: There is no public standard that applies to the location object, but all major browsers support it.
### Location Object Properties
| Property | Description                                             |
|----------|---------------------------------------------------------|
| hash     | Sets or returns the anchor part (#) of a URL            |
| host     | Sets or returns the hostname and port number of a URL   |
| hostname | Sets or returns the hostname of a URL                   |
| href     | Sets or returns the entire URL                          |
| origin   | Returns the protocol, hostname and port number of a URL |
| pathname | Sets or returns the path name of a URL                  |
| port     | Sets or returns the port number of a URL                |
| protocol | Sets or returns the protocol of a URL                   |
| search   | Sets or returns the querystring part of a URL           |
### Location Object Methods
| Method    | Description                                  |
|-----------|----------------------------------------------|
| assign()  | Loads a new document                         |
| reload()  | Reloads the current document                 |
| replace() | Replaces the current document with a new one |
### Examples
The location objects are accessible by:
```javascript
    console.log(window.location);
    // > https://guide.freecodecamp.org/javascript/location-object
    console.log(document.location);
    // > https://guide.freecodecamp.org/javascript/location-object
```
You can also set the Location object of an HTML `` element or an HTML `` element programmatically with JavaScript.
```javascript
    var anchor = document.createElement('a');
    anchor.url = "https://guide.freecodecamp.org/javascript/location-object";
```
Once you have an object with a URL set (including the window), the Location API allows you to access parts of the URL.
```javascript
    console.log(anchor.protocol); 
    // > https:
    console.log(anchor.host);
    // > guide.freecodecamp.org (includes port number if applicable. Example: guide.freecodecamp.org:8080)
```
    
Other properties of "Location" you can access are:
- `anchor.hostname` - *guide.freecodecamp.org*
- `anchor.port` - *8080*
- `anchor.pathname` - */javascript/location-object*
- `anchor.origin` - *https://developer.mozilla.org*
If your URL contains parameters or hashes you can access them like so:
```javascript
    // If your URL is https://guide.freecodecamp.org/javascript?param=location#other-properties
    console.log(window.location.search);
    // > "?param=location"
    console.log(document.location.hash);
    // > "#other-properties"
```
#### More Information:
W3C - Location Object
[Location](https://developer.mozilla.org/en-US/docs/Web/API/Location)