Here's my function:

```
function Ship(shipType) {

    this.name = shipType;
    this.detailedName = function() {
        var c=
            this.name.charAt(0).toUpperCase() +
            this.name.slice(1);
        return c;
    };
}

```

Now if I try to optimize = without intermediate variable, this doesn't work.
Why?

```
function Ship(shipType) {

    this.name = shipType;
    this.detailedName = function() {
        return
            this.name.charAt(0).toUpperCase() +
            this.name.slice(1);
    };
}

```

Here's the fiddle that shows the problem: <http://jsfiddle.net/VW5w3/>