JavaScript is one of major script languages, which is widely used for client-side programming on the Web. In programming, since cross-cutting concerns such as logging scatter on many modules of a program and tangle with other concerns, the maintainability of the program will decrease. Separation of cross-cutting concerns and core concerns is one of the challenge of programming. Aspect-oriented programming (AOP) has been proposed as a mechanism that enables the modular implementation of cross-cutting concerns. However, existing AOP frameworks cannot separate aspect's weaving designation from JavaScript program. In this paper, we propose an aspect-oriented programming framework for JavaScript achieving completely separated aspect description. AOJS guarantees the complete separation of aspects and other core modules by adapting proxy-based architecture for aspect weaving. AOJS realizes implementation of cross-cutting concerns such as logging without modifying programs of existing application.