js Demo(not  complete )