javascript中的with语句学习笔记及用法


Posted in Javascript onFebruary 17, 2020

在JS中,with 语句的作用是将代码的作用域设置到一个特定的对象中。其语法如下:with (expression) statement;

定义 with 语句的目的主要是为了简化多次编写同一个对象的工作,如下面的代码:

var qs = location.search.substring(1);
var hostName = location.hostname;
var url = location.href;

上面几行代码都包含 location 对象。如果使用 with 语句,可以把上面的代码改写成如下所示:

with(location){
 var qs = search.substring(1);
 var hostName = hostname;
 var url = href;
}

下面的代码使用 with 语句关联了 location 对象。这意味着在 with 语句的代码块内部,每个变量首先被认为是一个局部变量,而如果在局部环境中找不到该变量的定义,就会查询

location 对象中是否有同名的属性。如果发现了同名属性,则以 location 对象属性的值作为变量的值。

大量使用with非常耗性能,而且在严格模式下使用with语句会报错。所以建议没什么 必要不要用with语句

实例扩充

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>With语句(类似于VB中的)</title>
<script type="text/javascript">
 function Student(name, age) {
  this.name = name;
  this.age = age;
 }
 var stu = new Student('罗纳尔多', 36);
 with (stu) {
  //With语句(类似于VB中的),用于简化代码
  alert("Name:" + name + ",Age:" + age);
 }
</script>
</head>
<body>
</body>
</html>

以上就是三水点靠木小编整理分享的全部知识点内容,感谢大家的支持。

Javascript 相关文章推荐
一个javascript参数的小问题
Mar 02 Javascript
TypeError document.getElementById(...) is null错误原因
May 18 Javascript
js实现按钮颜色渐变动画效果
Aug 20 Javascript
Bootstrap 3的box-sizing样式导致UEditor控件的图片无法正常缩放的解决方案
Sep 15 Javascript
微信小程序对接七牛云存储的方法
Jul 30 Javascript
JavaScript实现AOP详解(面向切面编程,装饰者模式)
Dec 19 Javascript
详解webpack中的hash、chunkhash、contenthash区别
Jan 05 Javascript
JS实现简单获取最近7天和最近3天日期的方法
Apr 18 Javascript
vue-swiper的使用教程
Aug 30 Javascript
webpack+vue+express(hot)热启动调试简单配置方法
Sep 19 Javascript
d3.js 地铁轨道交通项目实战
Nov 27 Javascript
javascript中Set、Map、WeakSet、WeakMap区别
Dec 24 Javascript
JS实现百度搜索框关键字推荐
Feb 17 #Javascript
js实现百度淘宝搜索功能
Feb 17 #Javascript
JavaScript使用canvas绘制随机验证码
Feb 17 #Javascript
JavaScript中this的学习笔记及用法整理
Feb 17 #Javascript
Vue 中使用 typescript的方法详解
Feb 17 #Javascript
vue框架中props的typescript用法详解
Feb 17 #Javascript
JS通用方法触发点击事件代码实例
Feb 17 #Javascript
You might like
《雄兵连》《烈阳天道》真的来了
2020/07/13 国漫
php在线打包程序源码
2008/07/27 PHP
javascript RadioButtonList获取选中值
2009/04/09 Javascript
js trim函数 去空格函数与正则集锦
2009/11/20 Javascript
JQuery下关于$.Ready()的分析
2009/12/13 Javascript
Javascript实现仿WebQQ界面的“浮云”兼容 IE7以上版本及FF
2011/04/27 Javascript
jquery 选择器引擎sizzle浅析
2013/02/06 Javascript
JavaScript中的关键字&quot;VAR&quot;使用详解 分享
2013/07/31 Javascript
Js日期选择器并自动加入到输入框中示例代码
2013/08/02 Javascript
JS滚轮事件onmousewheel使用介绍
2013/11/01 Javascript
js原型继承的两种方法对比介绍
2014/03/30 Javascript
js调试系列 初识控制台
2014/06/18 Javascript
jquery实现清新实用的网页菜单效果
2015/08/28 Javascript
jQuery实现鼠标双击Table单元格变成文本框及输入内容后更新到数据库的方法
2015/11/25 Javascript
Javascript类型系统之String字符串类型详解
2016/06/21 Javascript
JS实现无缝循环marquee滚动效果
2017/05/22 Javascript
JS构造一个html文本内容成文件流形式发送到后台
2018/07/31 Javascript
Vue监听数据渲染DOM完以后执行某个函数详解
2018/09/11 Javascript
H5+C3+JS实现五子棋游戏(AI篇)
2020/05/28 Javascript
Vue-Router基础学习笔记(小结)
2018/10/15 Javascript
js实现随机8位验证码
2020/07/24 Javascript
js实现指定时间倒计时效果
2019/08/26 Javascript
用python实现简单EXCEL数据统计的实例
2017/01/24 Python
Python多进程multiprocessing.Pool类详解
2018/04/27 Python
Python绘制KS曲线的实现方法
2018/08/13 Python
python实现五子棋游戏
2019/06/18 Python
利用Python实现手机短信监控通知的方法
2019/07/22 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
2019/10/11 Python
wxpython绘制圆角窗体
2019/11/18 Python
老干部工作先进集体事迹材料
2014/05/21 职场文书
财政局个人总结
2015/03/04 职场文书
部门2015年度工作总结
2015/04/29 职场文书
天鹅湖观后感
2015/06/09 职场文书
看古人们是如何赞美老师的?
2019/07/08 职场文书
教你如何使用Python实现二叉树结构及三种遍历
2021/06/18 Python
基于redis+lua进行限流的方法
2022/07/23 Redis