javascript之with
来源:互联网 发布:3m防尘面具 知乎 编辑:程序博客网 时间:2024/06/04 18:26
语法:
with(object){
statements
}
为一组语句创建缺省的对象。在这一组语句中,任何不指定对象的属性引用都将被认为是缺省对象的。
参数:
object 为语句指定要使用的缺省对象。
statements 任意语句块。
示例
下面的语句指定了 Math 对象作为缺省对象。在 with 语句里引用的 PI 属性、cos 和 sin 方法就没有指定对象,JavaScript 会假定这些引用都是针对 Math 对象的。
var a, x, y
var r=10
with (Math) {
a = PI * r * r
x = r * cos(PI)
y = r * sin(PI/2)
}
在使用with时要注意的地方:
with内部遇到某一方法或变量时,为了确定其具体内容。首先去在指定对象的属性里去寻找,然后才会找局部变量,最后是全局变量。因此,这里有可能潜伏着危机。例如:
<body><ul id="ul"></ul><script type="text/javascript" src="app/youtube/script/jquery.min.js"></script><script type="text/javascript">var config = [ {name:"music",text:"Music"}, {name:"shows",text:"Shows"}, {name:"movies",text:"Movies"} ];for(arrayIndex in config){ var index = parseInt(arrayIndex); var item = config[index]; var ul = $("#ul"); with(ul){ //通常使用with时,是为了简洁的需要,会有较多的代码,这里只有一个append操作 append($("<li>",{ id:index, name:item.name, text:item.text })); alert(index); } }</script></body>
在上面的代码中,本意是设置每个新添加的li元素的id属性为当前循环的索引,其取值为第一行红字中的index。但是,当脚本在解释with内部的index时,会首先从指定的对象ul(with指定的对象)中寻找index属性。而在jquery对象prototype中恰好有这样一个属性index(Function)。所以,其真正的赋值反而不是我们期望的那样。在alert(index)时,就明显的看到,弹出内容是一个函数体,而不是数字 0,1,2...,因此,在使用with时,需格外谨慎。- javascript之with
- javascript语法之with语句
- 萬惡WITH為首之Javascript
- JavaScript复习之--JavaScript控制流程-跳转语句,with语句
- Javascript with
- javascript之对象访问语句(for...in循环,with语句)
- Hack With javascript
- Using FCKeditor with JavaScript
- Javascript 中的 with 用法
- javascript with()方法
- MD5 with Javascript
- javascript with用法(转)
- javascript中的with
- javascript with 的用法
- javascript with 用法
- Permutation algorithm with JavaScript
- Javascript中的with
- Get familiar with JavaScript
- gdb watch 5 == i32Num变量变化到某个值时中断
- github常用指令
- mp4文件格式解析(三)
- 安卓开发 中文课程 (8)-- 字体样式
- android setTag (int key, Object tag)使用
- javascript之with
- java map接口
- bat批处理技术的入门
- oracle_10g_登录em后,提示java.lang.Exception_Exception_in_sending_Request__null或Connection refused
- 361个梦想 第二篇《数字化城市》
- 论坛各种问题总结--(随时更新)
- mp4文件格式解析(四)
- 马云:我最遗憾的错误
- ARM如何指定函数运行在RAM--KEIL