Question: I have been using/calling functions from objects like this:

```
var object = { 
    fn: function(){ 
        alert('i can see it!'); 
    }
}; 
object.fn(); // it works

```

but I don't know how to call function from mere `{}` object. 

```
{
    fn: function() {
        alert('i can\'t see it');
    }
}

fn(); // wont work ?

```

I want to know why this is not working? Is there a way to make it work?

Answer: 
fn is inside the blocks and not inside the object. Passing name-value just inside blocks ie {} dont work. Or atleast give some label to the block.
Call it like so: `object.fn();`. As @BlueSkies said, the second example will not work, as it is invalid syntax. You can't do that in JavaScript. If you name that object like David said in the comments, then it will work. You can't call a function out of an anonymous object.

Here is an example with the object being called `e`: <http://jsfiddle.net/dhF5k/>