JavaScript programming techniques