How to limit wordpress the_excerpt() dynamically

according to the documentation, it is more correct to change the length of the excerpt using add_filter:

add_filter( 'excerpt_length', function(){
    return 10;
});

you can make your own function based on this, like this:

add_filter( 'excerpt_length', 'new_excerpt', 10, 1);
function new_excerpt( $lenth ){
    return $length;
});

apply_filters( 'excerpt_length', 150 );