- arrays as params of functions - objects as values in arrays - functions can return objects - array creation like this: var array = []; - array.length - array.indexOf() - string.split() - document.getElementById() [ajax_support_getelementbyid] - element.innerHTML read form DIV [ajax_support_inner_html] - element.innerHTML write to DIV - element.innerHTML read form any TAG (SPAN) - element.innerHTML write to any TAG (SPAN) - switch(){} - while(){} - try{}catch(e){} - ternary operator (a = b == 1 ? 1 : 0) - window.setTimeout() - Math.floor() - Math.random() - one of: - XMLHttpRequest() - ActiveXObject('Microsoft.XMLHTTP') - ActiveXObject('Msxml2.XMLHTTP') - ActiveXObject('Msxml2.XMLHTTP.3.0') - ActiveXObject('Msxml2.XMLHTTP.4.0') - ActiveXObject('Msxml2.XMLHTTP.5.0') all of these must support: - .setRequestHeader - .send - .readyState - .status - .responseText - (.onreadystatechange is not used) optional for debug: - alert() WURFL caps ajax_support_javascript ajax_support_getelementbyid ajax_support_xhr ajax_support_inner_html ajax_support_full_dom ajax_manipulate_css