易截截图软件、单文件、免安装、纯绿色、仅160KB

Javascript的caller到底是什么时候定义的呢?

 网上很多文章都转载了一段话:对于函数来说,caller 属性只有在函数执行时才有定义。
到底是不是呢?可以用下面这段代码测试一下(这段例子也是转载文章中使用的):
function callerDemo() {
if (callerDemo.caller) {
var a= callerDemo.caller.toString();
alert(a);
} else {
alert(callerDemo.caller);
}
}
function handleCaller() {
callerDemo();
}
alert("callerDemo.caller:"+callerDemo.caller); //null
alert("callerDemo.callee:"+callerDemo.callee); //undefined
alert("callerDemo.undefinedProperties:"+callerDemo.undefinedProperties); //undefined

可以看出任何未定义的属性打印出来的值都是undefined
而caller属性打印出来的却是null,说明caller属性在执行前就已经存在,只不过为null而已


相关文档:

JavaScript运算符详解

       1、javascript具有下列种类的运算符:算术运算符;等同运算符与全同运算符;比较运算符;
  2、目的分类:字符串运算符;逻辑运算符;逐位运算符;赋值运算符;
  3、特殊运算符:条件运算符;typeof运算符;创建对象运算符new;delete运算符;void运算符号;逗号运算符;
  算术运算符: ......

40个常用网站javascript脚本

1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键
<table border oncontextmenu=return(false)><td>no</table> 可用于Table
2. <body onselectstart="return false"> 取消选取、防止复制
3. onpaste="return false" 不准粘贴
4. oncopy="return false;" oncut="return f ......

javascript 替换空格

 1.自http://jorkin.reallydo.com/article.asp?id=275
第一次发现JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符.
而str.replace(/\-/g,"!")则可以全部替换掉匹配的字符(g为全局标志)。
replace()
The replace() method returns the string that results when you replac ......

javascript小技巧

javascript小技巧
事件源对象
event.srcElement.tagName
event.srcElement.type
捕获释放
event.srcElement.setCapture(); 
event.srcElement.releaseCapture(); 
事件按键
event.keyCode
event.shiftKey
event.altKey
event.ctrlKey
事件返回值
event.returnValue
鼠标位置
event ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号