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 相关文章推荐
JScript中使用ADODB.Stream判断文件编码的代码
Jun 09 Javascript
jQuery的context属性用法实例
Dec 27 Javascript
js计算任意值之间随机数的方法
Jan 16 Javascript
有关jQuery中parent()和siblings()的小问题
Jun 01 Javascript
js基于setTimeout与setInterval实现多线程
Jun 17 Javascript
基于vue.js实现侧边菜单栏
Mar 20 Javascript
mpvue 如何使用腾讯视频插件的方法
Jul 16 Javascript
如何能分清npm cnpm npx nvm
Jan 17 Javascript
ES6 class的应用实例分析
Jun 27 Javascript
JavaScript面向对象中接口实现方法详解
Jul 24 Javascript
jquery实现掷骰子小游戏
Oct 24 jQuery
antdesign-vue结合sortablejs实现两个table相互拖拽排序功能
Jan 08 Vue.js
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
PHP中addcslashes与stripcslashes函数用法分析
2016/01/07 PHP
浅谈PHP的反射机制
2016/12/15 PHP
PHP基于方差和标准差计算学生成绩的稳定性示例
2017/07/04 PHP
JQuery异步获取返回值中文乱码的解决方法
2015/01/29 Javascript
angularJS结合canvas画图例子
2015/02/09 Javascript
jQuery设置指定网页元素宽度和高度的方法
2015/03/25 Javascript
Jquery时间轴特效(三种不同类型)
2015/11/02 Javascript
基于jquery实现图片上传本地预览功能
2016/01/08 Javascript
微信小程序 wxapp视图容器 view详解
2016/10/31 Javascript
Express与NodeJs创建服务器的两种方法
2017/02/06 NodeJs
详解vue2.0脚手架的webpack 配置文件分析
2017/05/27 Javascript
基于jQuery实现的Ajax 验证用户名唯一性实例代码
2017/06/28 jQuery
zTree获取当前节点的下一级子节点数实例
2017/09/05 Javascript
python动态性强类型用法实例
2015/05/09 Python
python统计cpu利用率的方法
2015/06/02 Python
详解Python中的Numpy、SciPy、MatPlotLib安装与配置
2017/11/17 Python
python创建列表和向列表添加元素的实现方法
2017/12/25 Python
Python反射和内置方法重写操作详解
2018/08/27 Python
python pands实现execl转csv 并修改csv指定列的方法
2018/12/12 Python
python使用opencv对图像mask处理的方法
2019/07/05 Python
pip指定python位置安装软件包的方法
2019/07/12 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
2019/08/02 Python
python2.7实现复制大量文件及文件夹资料
2019/08/31 Python
Python使用gluon/mxnet模块实现的mnist手写数字识别功能完整示例
2019/12/18 Python
jupyter notebook 实现matplotlib图动态刷新
2020/04/22 Python
卡塔尔航空官方网站:Qatar Airways
2017/02/08 全球购物
Orlebar Brown官网:设计师泳裤和泳装
2020/12/08 全球购物
提高EJB性能都有哪些技巧
2012/03/25 面试题
外语专业毕业生自我评价分享
2013/10/05 职场文书
求职信的要素有哪些呢
2013/12/26 职场文书
新书吧创业计划书
2014/01/31 职场文书
《再见了,亲人》教学反思
2014/02/26 职场文书
出纳试用期自我鉴定
2014/04/07 职场文书
纪律教育学习心得体会
2014/09/02 职场文书
长江七号观后感
2015/06/11 职场文书
安全生产奖惩制度
2015/08/06 职场文书