js中的with语句
javascript中的with语句是什么?
with 语句可以方便地用来引用某个特定对象中已有的属性,但是不能用来给对象添加属性。要给对象创建新的属性,必须明确地引用该对象。
看起来不懂吗?
<!DOCTYPE html>
<html>
<head>
<title>with语句</title>
</head>
<body> <div id="div0" onclick="a = 1">div</div>
<script>
var eDiv = document.getElementById("div0");
eDiv.a = 0;
//因为eDiv下没有b这个属性, 所以b的值变成了window下的属性, 这个没有问题
with(eDiv) {
b = 0;
}; var obj = {
c : 2
};
//因为obj下有c属性, 当我们设置值的时候, c会变成设置obj的c属性;
with(obj){
console.log(c);
c = 0;
};
//输出 obj = { c : 0 }
console.log(obj);
</script> </body>
</html>
好吧, 我懂了,但是这个with有毛用呢(要特别注意with语句的花括号里面的语句跟this不一样的)?
<!DOCTYPE html>
<html>
<head>
<title>with语句</title>
</head>
<body> <script>
window.l = function(){console.log( arguments[0] )};
with(location) {
l(hostname);
l(href)
}; </script>
</body>
</html>
呵呵 ,好像就是少写几个代码的意思么么哒;
(少年, 你好像知道的太多了哦);
说这个有毛用啊, 有没有干货,你这个搞毛的干活, 浪费我的时间呢, 混蛋。
<!DOCTYPE html>
<html>
<head>
<title>with语句</title>
</head>
<body> <input id="ipt0" value="111" onclick="console.log(value+attributes.hehe.value)" hehe="aiyobucuoo" />
<!--输出了 ==>> 111aiyobucuoo --> 卧槽,这个是怎么回事, 没有用到this为什么可以把value直接输出出来啦;
</body>
</html>
js内部对写在行内的onclick处理成了
function(){
with(document){
with(this){
//代码;
}
}
}
情不自禁的感叹, 又长见识了
然后呢?
<!DOCTYPE html>
<html>
<head>
<title>with语句</title>
</head>
<body>
<script>
document.c = "dasb";
</script>
<form>
<input value="1" type="text" name="xx" />
<input value="2" type="text" name="age"/>
<!---这里扩展了自己的作用域
form的作用域
以及documen的作用域
---->
点击弹出clickMe12dasb
<input type="button" value="clickMe" onclick="alert(value+age.value+xx.value+c)" />
</form> <script>
/*form扩展的作用域的方式可以看成是;
with(document){
with(this.form){
with(this){ }
}
}
*/
</script>
</body>
</html>
懂了没:略懂略懂....
js中的with语句的更多相关文章
- js中的条件语句
//js中的条件语句 ; //example1 单分支语句 ){ console.log("你已经不年轻了!"); }else{ console.log("你依然很有活力 ...
- js中的循环语句
js中的循环语句可分为三种:1.while:2.do……while:3.for. while的语法为 while (exp) { //statements;} var a=1,b=0; whil ...
- JavaScript 基础——使用js的三种方式,js中的变量,js中的输出语句,js中的运算符;js中的分支结构
JavaScript 1.是什么:基于浏览器 基于(面向)对象 事件驱动 脚本语言 2.作用:表单验证,减轻服务器压力 添加野面动画效果 动态更改页面内容 Ajax网络请求 () 3.组成部分:ECM ...
- 在js中插入html语句
连上数据库之后,填充数据时往往需要在js中插入html语句 做法是: <body> <div class="modal-body" id="delete ...
- JS中的特有语句-for in
<script> /* *js中特有语句for in *for(变量 in 对象)//对对象进行变量的语句 *{ *} */ var arr = [32,80,65]; for(i in ...
- JS中条件判断语句
用pycharm敲代码时,在.js文件中敲,敲完之后复制代码到浏览器的console中去回车执行 1.if( ){} 2.switch(a){} 3.for循环 循环列表 循环字典 循环字符串 另外 ...
- JS中的if语句内如何加or使多个条件通过
if(a==1&&b==2){ //do something }//条件是a等于1 并且 b等于2时才能成立,两个条件必须同时满足 if(a==1||b==2){ //do som ...
- js中特有语句-with
<script type="text/javascript"> /* *为了简化对象调用内容的书写. *可以用js中的特有语句with来完成. *格式 *with{ * ...
- JS中 计算器的简单制作
今天学习的是JS中的if语句,除此之外老师还教给我们switch语句的用法, 我们用来写了简单计算器的算法,如下: <script> var a=prompt("请输入一个数字& ...
随机推荐
- 【Android Demo】加载.gif格式图片
Android系统为了节省内存,一般不支持直接显示gif图片,即使你强制设置了,也只会显示图片的第一帧. 这个 Demo 是在网上看到的,是个思路,还是有些局限性,还是记录下,以后研究吧. 1.效果图 ...
- 怎样对ZBrush中的材料进行渲染和着色
ZBrush可以实时的进行不断的渲染和着色. 对于绘制操作,ZBrush®增加了新的范围尺度,可以让你给基于像素的作品增加深度,材质,光照和复杂精密的渲染特效,真正实现了 2D 与 3D 的结合,模糊 ...
- XUtils===XUtils3框架的基本使用方法
转载自:http://blog.csdn.NET/a1002450926/article/details/50341173 今天给大家带来XUtils3的基本介绍,本文章的案例都是基于XUtils3的 ...
- TableLayout(表格布局)
表格布局模型以行列的形式管理子控件,每一行为一个TableRow的对象,当然也可以是一个View的对象.TableRow可以添加子控件,每添加一个为一列. TableLayout属性: android ...
- 第24章 SEH结构化异常处理_异常处理及软件异常
24.1 程序的结构 (1)try/except框架 __try{ //被保护的代码块 …… } __except(except fileter/*异常过滤程序*/){ //异常处理程序 } (2) ...
- Unity键值(KeyCode)
Unity的Input管理 keyCode示例 keyCode Demo function OnGUI(){ var e:Event=Event.current; if(e.isKey){ Debug ...
- Adobe Scout 入门
http://www.adobe.com/cn/devnet/scout/articles/adobe-scout-getting-started.html Adobe Scout 是新一代 Flas ...
- Wooyun隐写术总结
之前还没有见到drops上有关于隐写术的总结,我之前对于隐写术比较有兴趣,感觉隐写术比较的好玩.所以就打算总结总结一些隐写术方面的东西.写的时候,可能会有错误的地方,请不吝赐教,谢谢. 本篇章中用到的 ...
- 点击劫持(CLICKJACKING)与X-FRAME-OPTIONS HEADER
转载: http://www.tuicool.com/articles/mqUBfa 目录 前言 1.1 点击劫持(clickjacking attacks) 1.2 Frame Bursters. ...
- 【Spring开发】—— Spring注入静态变量
今天碰到一个问题,我的一个类提供了几种静态方法,静态方法需要另外一个类的实例提供处理,因此就写出了这样的代码: Class aa{ private static XXX xxx; xxx = Bean ...