AngularJS 1.4

HTML

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.6/angular.min.js"></script>
<body ng-app="myApp">
    <h1>AngularJS 1.4 - test app</h1>

    <div data-ng-controller="appCtrl">
        <strong>Name 1:</strong> {{ nameOne | stateful }}
        <br>
        <input data-ng-model="nameOne"/>
        <br>
        <strong>Name 2:</strong> {{ nameTwo | stateless }}
        <br>
        <input data-ng-model="nameTwo"/>
        <br>
    </div>
    
    <div id="logger">
      
    </div>
</body>

JavaScript

var app = angular.module('myApp', []);
app.controller('appCtrl', ['$scope', function ($scope) {
    $scope.nameOne = 'one';
    $scope.nameTwo = 'two';
}]);
app.filter('stateful', [function () {
    function customFilter (input) {
        document.getElementById('logger').innerHTML += '<div>Stateful re-run</div>';

				return input + ' :c';
    }

    customFilter.$stateful = true;

    return customFilter;
}]);
app.filter('stateless', [function () {
    function customFilter (input) {
        document.getElementById('logger').innerHTML += '<div>Stateless re-run</div>';
        return input + ' :)';
    }

    return customFilter;
}]);