<script language="ecmascript" type="text/ecmascript">

var clientContext = null;

var oWeb = null;

var oListColl = null;

var oList = null;

var listCreationInfo = null;

function createList() {

clientContext = new SP.ClientContext.get_current();

oWeb = clientContext.get_web();

listCreationInfo = new SP.ListCreationInformation();

listCreationInfo.set_title('Custom List');

listCreationInfo.set_templateType(SP.ListTemplateType.genericList);

oList = oWeb.get_lists().add(listCreationInfo);

clientContext.load(oList);

clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));

}

function onQuerySucceeded() {

alert(oList.get_title() + ' created successfully.');

}

function onQueryFailed(sender, args) {

alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());

}

</script>

<input id="btnCreateList" onclick="createList()" type="button" value="Create Custom List"/>