如何屏蔽页面js错误
<script
language="javascript">
function
killErrors()
{
return
true;
}
window.onerror
=
killErrors;
</script>
常用转义字符
转义前 转义后
<
<
>
>
nodeType的取值
元素节点 |
节点类型取值 |
元素element |
1 |
属性attr |
2 |
文本text |
3 |
注释comments |
8 |
文档document |
9 |
javascript:void(0)与#的区别
js中void是一个操作符,但是这个操作符指定要计算一个表达式但是不返回值,返回的是undefined
正常的情况:javascript:void(expression);
eg: <a
href="javascrīpt:void(document.form.submit())">单击此处提交表单</a>
但是常见的有javascript:void(0),而这个是用户点击之后什么也不会发生。跟#的区别,#包含了一个位置信息,默认的瞄点是#top,也就是网页的上端。而javascript:void(0)仅仅是一个死链接。
new
Date基本用法
d = new Date();
d = new Date("month day, year hours:minutes:seconds");
d = new Date(year, month, day); 或者 new
Date("month,day,year")
d = new Date(year, month, day, hour, min, sec);
也可以这样
d = new Date("1999/12/31 23:59:59");
d = new Date("12/31/1999 23:59:59");
d = new Date("99/12/31 23:59:59");
d = new Date("12/31/99 23:59:59");
getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。
getDay() 从
Date 对象返回一周中的某一天 (0 ~ 6)。
getMonth() 从 Date 对象返回月份 (0 ~
11)。
getFullYear() 从 Date 对象以四位数字返回年份。
getYear()
请使用 getFullYear() 方法代替。
getHours() 返回 Date 对象的小时 (0 ~
23)。
getMinutes() 返回 Date 对象的分钟 (0 ~
59)。
getSeconds() 返回 Date 对象的秒数 (0 ~
59)。
getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)
replace函数
stringobject.replace(regexp/substr,repalacement);
后者替代前者
各种容易混淆的事件属性
clientX:是事件属性,当事件被触发时,鼠标指针相对于当前位置的x坐标,其中客户区域不包括窗口自身的控件和滚动条;
clientY:相应的y坐标。
screenX:是事件属性,当事件发生时鼠标指针相对于用户屏幕的x坐标。,screenY:相应的y坐标。
offsetX:设置或获取鼠标指针位置相对于触发事件的对象的 x 坐标
.offsetY:相应的y坐标
x 设置或获取鼠标指针位置相对于父文档的 x 像素坐标(亦即相对于当前窗口)。
y 设置或获取鼠标指针位置相对于父文档的 y 像素坐标(亦即相对于当前窗口)。
clientHeight:页面浏览器中可以看到内容的这个区域的高度
offsetHeight:网页内容实际高度,是可以小于clientHeight
clientX ,x,offsetX共同点:它们是相对位置,相对于当前窗口,只是offsetX相对于当前窗口的某个触发对象的父容器而言!
screenX是相对与客户端显示器而言,是绝对位置!
div.style.top:
div是一个层,样式可以用style来定义,div.style.top是指这个层距浏览器的显示区域的顶端的垂直距离。
div.style.height是指这个层的高度。
return
false
常用的return false:表示的是在表单提交前,进行安全判断
eg:if(!validate()) return
false ;//如果验证不通过,return false表单保存不了
返回到表单界面同时也不会执行下面的语句了。
setCapture和releaseCapture
setCapture:其作用是将后续的mouse事件都发送给这个对象。
releaseCapture:就是将鼠标事件还回去
均是由document,window,object之类的自行来处理。
这两个不支持键盘事件,只对onmousedown,onmouseup,onmousemove,onclick,ondblclick,onmouseover,onmouseout这样的鼠事件起作用。
实现不需要行间事件,可以用js的事件提取
eg:
window.onload = function(){
var oBtn =
document.getElementById("btn");
var oUl =
document.getElementById("ul1");
oBtn.onclick = function(){
if(oUl.style.display
== ‘block‘)
{
oUl.style.display = ‘none‘;
}
else
{
oUl.style.display = ‘block‘;
}
}
}
if(title_text)代替if(title_text!=null)
当检查某项数据是否是null时,我们其实是在检查它是否存在。这种检查可以简化为直接把被检查的数据用做if语句的条件。if(something)与if(something
! =
null)完全等价。当前者显然更为简明。此时,如果something存在,则if语句的条件为真,如果something不存在,则if语句的条件为假。
eg: var paras =
document.getElementsByTagName(‘p‘);
for(var i
=0 ;i<paras.length;i++)
{
var title_text = paras[i].getAttribute(‘title‘);
if(title_text) alert(title_text);
}