Concepts and DOM bashing.
DOM bashing is the simplest method to build a JS application. Effectively, you just keep bashing at the DOM to get the page to look how you want. You show stuff, hide stuff, copy stuff, get data over AJAX and you store all the state in the DOM.
Immagine a simple app which is a list of items. If your DOM bashing you push stuff around the page to get the look you want. You don’t model the data, you just worry about the pixels on the screen. You click add, a box appears, you close it goes away again. Simple.
Concepting is another approach, rather than starting with the DOM, you start by modeling your concepts into objects. So you may have the concept of an item, and an item may include the concept of a tag etc. You write code which manipulates concepts and at some point updates the DOM to reflect the state of your current object graph. The state is in the JS, the DOM is just a view. You may have a render method which draws the current data structure to the users screen.