本文整理JavaScript核心基础语法与常用API速查表,涵盖文档对象模型DOM操作、字符串与数值类型转换、窗口与历史对象控制、表单元素交互及日期数学函数应用,帮助开发者快速定位常用代码片段与属性方法。
JavaScript 基础语法与 DOM 操作
使用 document.write("") 进行页面内容输出。
JavaScript 中的单行注释符号为 //。
传统 HTML 文档的层级结构顺序为:document -> html -> (head, body)。
浏览器窗口内的 DOM 对象层级顺序为:window -> (navigator, screen, history, location, document)。
获取表单中元素的名称和值,可通过 document.getElementById("表单中元素的ID号").name 或 .value 实现。
实现小写转大写的 JavaScript 代码为:document.getElementById("output").value = document.getElementById("input").value.toUpperCase();。
JavaScript 中的值类型包括:String, Number, Boolean, Null, Object, Function。
将字符型转换为数值型,使用 parseInt() 和 parseFloat() 函数。
将数字转换为字符型,可通过 (""+变量) 的方式实现。
获取字符串长度的属性为 length。
JavaScript 中字符与字符的拼接使用 + 号。
JavaScript 中的比较操作符包括:== 等于, != 不等于, >, >=, <, <=。
在 JavaScript 中声明变量使用 var 关键字。
JavaScript 中的条件判断语句结构为:if(condition){}else{}。
JavaScript 中的循环结构语法为:for([initial expression];[condition];[upadte expression]) {inside loop}。
用于中止循环的命令是 break。
JavaScript 中函数的定义语法为:function functionName([parameter],...){statement[s]}。
当文件中存在多个 form 表单时,可以使用 document.forms[0], document.forms[1] 来分别引用。
窗口操作包括:打开窗口 window.open(), 关闭一个窗口 window.close(), 以及引用窗口本身 self。
状态栏的设置代码为:window.status="字符";。
弹出提示信息使用 window.alert("字符");。
弹出确认框使用 window.confirm();。
弹出输入提示框使用 window.prompt();。
指定当前显示链接的位置,代码为:window.location.href="URL"。
获取窗体中所有表单的数量,使用 document.forms.length。
关闭文档的输出流,使用 document.close();。
字符串追加连接符为 +=。
创建文档元素的方法包括:document.createElement() 和 document.createTextNode()。
获取元素的标准方法为:document.getElementById()。
表单元素处理
设置表单中所有文本型成员的值为空,代码如下:
var form = window.document.forms[0]
for (var i = 0; i<form.elements.length;i++){
if (form.elements[i].type == "text"){
form.elements[i].value = "";
}
}
表单控件交互
判断复选按钮是否选中,使用 document.forms[0].checkThis.checked(checked 属性代表是否选中,返回 TRUE 或 FALSE)。
获取单选按钮组的长度,代码为:document.forms[0].groupName.length(注意单选按钮的名称必须相同)。
判断单选按钮组是否被选中,同样使用 checked 属性。
获取下拉列表框的值,代码为:document.forms[0].selectName.options[n].value(n 有时可用下拉列表框名称加上 .selectedIndex 来确定被选中的值)。
字符串与数值处理
字符串的定义方式示例:var myString = new String("This is lightsword");。
字符串转大写使用 string.toUpperCase();,字符串转小写使用 string.toLowerCase();。
返回字符串 2 在字符串 1 中出现的位置,使用 String1.indexOf("String2"),若返回值 !=-1 则说明没找到(注:此处原文逻辑表述可能存在歧义,通常 indexOf 返回 -1 表示未找到)。
获取字符串中指定位置的一个字符,使用 StringA.charAt(9);。
获取字符串中指定起点和终点的子字符串,使用 stringA.substring(2,6);。
日期与数学函数
常用数学函数包括:Math.PI(返回圆周率), Math.SQRT2(返回开方), Math.max(value1,value2) 返回两个数中的最大值, Math.pow(value1,10) 返回 value1 的十次方, Math.round(value1) 四舍五入函数, Math.floor(Math.random()*(n+1)) 返回随机数。
定义日期型变量的代码为:var today = new Date();。
日期函数列表包括:dateObj.getTime() 得到时间, dateObj.getYear() 得到年份, dateObj.getFullYear() 得到四位的年份, dateObj.getMonth() 得到月份, dateObj.getDate() 得到日, dateObj.getDay() 得到星期几, dateObj.getHours() 得到小时, dateObj.getMinutes() 得到分, dateObj.getSeconds() 得到秒, dateObj.setTime(value) 设置时间, dateObj.setYear(val) 设置年, dateObj.setMonth(val) 设置月, dateObj.setDate(val) 设置日, dateObj.setDay(val) 设置星期几, dateObj.setHours 设置小时, dateObj.setMinutes(val) 设置分, dateObj.setSeconds(val) 设置秒(注意:此日期时间从 0 开始计)。
窗口与框架控制
FRAME 的表示方式包括:[window.]frames[n].ObjFuncVarName, frames["frameName"].ObjFuncVarName, frameName.ObjFuncVarName。
parent 代表父亲对象,top 代表最顶端对象。
打开子窗口的父窗口引用为:opener。
表示当前所属的位置的关键字是:this。
在超链接中调用 JS 函数时,使用 (javascript:) 开头后面加函数名。
在老的浏览器中不执行此 JS 的代码为:<!-- //-->。
引用一个文件式的 JS 代码为:<script type="text/javascript" src="aaa.js"></script>。
脚本嵌入与兼容性
指定在不支持脚本的浏览器显示的 HTML 标签为:<noscript></noscript>。
当超链和 ONCLICK 事件都有时,则老版本的浏览器转向 a.html,否则转向 b.html。示例:<a href="a.html" onclick="location.href='b.html';return false">dfsadf</a>。
内置对象与错误处理
JavaScript 的内建对象包括:Array, Boolean, Date, Error, EvalError, Function, Math, Number, Object, RangeError, ReferenceError, RegExp, String, SyntaxError, TypeError, URIError。
JavaScript 中的换行符为:\n。
窗口外观与行为控制
窗口全屏大小的 JavaScript 代码如下:<script>function fullScreen(){ this.moveTo(0,0);this.outerWidth=screen.availWidth;this.outerHeight=screen.availHeight;}window.maximize=fullScreen;</script>。
JavaScript 中的 all 代表其下层的全部元素。
JavaScript 中的焦点顺序设置代码为:document.getElementByid("表单元素").tabIndex = 1。
innerHTML 的值是表单元素的值,例如 <p id="para">"how are <em>you</em>"</p>,则 innerHTML 的值就是:how are <em>you</em>。
innerText 的值与 innerHTML 类似,只不过不会把 <em> 这种标记显示出来。
contentEditable 可设置元素是否可被修改,isContentEditable 返回是否可修改的状态。
isDisabled 判断是否为禁止状态,disabled 设置禁止状态。
length 属性用于取得长度,返回整型数值。
addBehavior() 是一种 JavaScript 调用的外部函数文件,其扩展名为 .htc。
window.focus() 用于使当前的窗口在所有窗口之前。
blur() 指失去焦点,与 FOCUS() 相反。
select() 指元素为选中状态。
防止用户对文本框中输入文本的代码为:onfocus="this.blur()"。
获取该元素在页面中出现的数量,使用 document.all.tags("div(或其它HTML标记符)").length。
高级窗口交互
JavaScript 中分为两种窗体输出:模态和非模态,分别为 window.showModaldialog() 和 window.showModeless()。
状态栏文字的设置代码为:window.status='文字',默认的状态栏文字设置代码为:window.defaultStatus = '文字.';。
添加到收藏夹的代码为:external.AddFavorite("http://http://spaces.msn.com/members/jorkin2000/","KinJava学习日志");。
JavaScript 中遇到脚本错误时不做任何操作的代码为:window.onerror = doNothing;,指定错误句柄的语法为:window.onerror = handleError;。
JavaScript 中指定当前打开窗口的父窗口代码为:window.opener,支持 opener.opener... 的多重继续。
JavaScript 中的 self 指的是当前的窗口。
JavaScript 中状态栏显示内容的代码为:window.status="内容"。
JavaScript 中的 top 指的是框架集中最顶层的框架。
JavaScript 中关闭当前的窗口代码为:window.close();。
JavaScript 中提出是否确认的框的代码为:if(confirm("Are you sure?")){alert("ok");}else{alert("Not Ok");}。
JavaScript 中的窗口重定向代码为:window.navigate("http://spaces.msn.com/members/jorkin2000/");。
JavaScript 中的打印代码为:window.print()。
JavaScript 中的提示输入框代码为:window.prompt("message","defaultReply");。
JavaScript 中的窗口滚动代码为:window.scroll(x,y)。
JavaScript 中的窗口滚动到位置代码为:window.scrollby。
JavaScript 中设置时间间隔的代码为:setInterval("expr",msecDelay) 或 setInterval(funcRef,msecDelay) 或 setTimeout。
JavaScript 中的模态显示在 IE4+ 行,在 NN 中不行,代码为:showModalDialog("URL"[,arguments][,features]);。
退出之前使用的句柄代码为:function verifyClose(){event.returnValue="we really like you and hope you will stay longer.";}} window.onbeforeunload=verifyClose;。
生命周期与历史导航
当窗体第一次调用时使用的文件句柄为:onload()。
当窗体关闭时调用的文件句柄为:onunload()。
window.location 的属性包括:protocol(http:),hostname(www.example.com),port(80),host(www.example.com:80),pathname("/a/a.html"),hash("#giantGizmo",指跳转到相应的锚记),href(全部的信息)。
刷新当前页面的代码为:window.location.reload()。
window.history.back() 返回上一页,window.history.forward() 返回下一页,window.history.go(返回第几页,也可以使用访问过的 URL)。
文档输出与滚动
document.write() 不换行的输出,document.writeln() 换行输出。
防止链接文字折行的代码为:document.body.noWrap=true;。
获取变量名.charAt(第几位),取该变量的第几位的字符。
获取字符串中第几个字符的 ASCII 码值,使用 "abc".charCodeAt(第几个)。
字符串连接使用 string.concat(string2),或用 += 进行连接。
获取变量.indexOf("字符", 起始位置),返回第一个出现的位置(从 0 开始计算)。
获取字符串中最后一次出现的位置,使用 string.lastIndexOf(searchString[,startIndex])。
判断字符是否匹配,使用 string.match(regExpression)。
替换现有字符串,使用 string.replace(regExpression,replaceString)。
返回一个数组存储值,使用 string.split(分隔符)。
获取从第几位到指定长度的字符串,使用 string.substr(start[,length])。
使字符串全部变为小写,使用 string.toLowerCase()。
使全部字符变为大写,使用 string.toUpperCase()。
强制转换成整型,使用 parseInt(string[,radix(代表进制)])。
强制转换成浮点型,使用 parseFloat(string[,radix])。
测试是否为数值型,使用 isNaN(变量)。
定义常量的关键字为 const,定义变量的关键字为 var。