eval 方法
检查 JScript 代码并执行. eval(codeString)必选项 codestring 参数是包含有效 JScript 代码的字符串值。这个字符串将由 JScript 分析器进行分析和执行。说明
eval 函数允许 JScript 源代码的动态执行。例如,下面的代码创建了一个包含 Date 对象的新变量 mydate :eval("var mydate = new Date();");
传递给 eval 方法的代码执行时的上下文和调用 eval 方法的一样.
检查 JScript 代码并执行. eval(codeString)必选项 codestring 参数是包含有效 JScript 代码的字符串值。这个字符串将由 JScript 分析器进行分析和执行。说明
eval 函数允许 JScript 源代码的动态执行。例如,下面的代码创建了一个包含 Date 对象的新变量 mydate :eval("var mydate = new Date();");
传递给 eval 方法的代码执行时的上下文和调用 eval 方法的一样.
<input type=text id=card onblur="test(this)" />
<script language=javascript>
function test(oText){
res = oText.id;
res1 = "oText."+"id"
alert(eval("res1"));
alert(eval("res"));
alert(eval(res));
alert(eval(res1));
}
</script>
</body>
oText.id //eval 处理函数 把 res1 当作字符串给alert了
card //显示你自己定义的 res 也就是当前 的 id
[objcet] // eval(str) 返回str属于什么类型 明显就是 object
card //res1本身只字符串当作处理eval函数 处理返回card
返回的是res的类型
不明白这点
执行一下alert(eval(str))
就是返回函数 object
我晕
1.如果eval接受的参数是字符串,则返回字符串的解析结果
2.如果参数不是字符串,则直接返回参数,所以第2个直接返回了你的文本对象Object
第2条我试了下,不是文本对象Object而是input这个控件的object,如果用alert(eval(res).id);可以看到是card,所以eval是个字符串处理函数,它解析的是字符串参数。
比如eval("a")解析a里的结果。但是a里面的双引号不能解析的。只能当作字符串来处理。
比如eval(a)。那他会直接解析a里的包括字符串的内容。假如连a里都找不到字符串。就返回函数的参数。也就是object。