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解决图片缩放及其优化的代码
May 23 Javascript
原生Js实现元素渐隐/渐现(原理为修改元素的css透明度)
Jun 24 Javascript
使用Jquery获取带特殊符号的ID 标签的方法
Apr 30 Javascript
浅谈node.js中async异步编程
Oct 22 Javascript
JavaScript 闭包详细介绍
Sep 28 Javascript
AngularJS的依赖注入实例分析(使用module和injector)
Jan 19 Javascript
JS如何判断浏览器类型和详细区分IE各版本浏览器
Mar 04 Javascript
vue封装第三方插件并发布到npm的方法
Sep 25 Javascript
vue router+vuex实现首页登录验证判断逻辑
May 17 Javascript
jQuery实现的导航条点击后高亮显示功能示例
Mar 04 jQuery
微信小程序使用自定义组件导航实现当前页面高亮
Jan 02 Javascript
vue项目多环境配置(.env)的实现
Jul 21 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 第二节 数据类型之数组
2012/04/28 PHP
PHP开发注意事项总结
2015/02/04 PHP
PHP中对数组的一些常用的增、删、插操作函数总结
2015/11/27 PHP
PHP 对象接口简单实现方法示例
2020/04/13 PHP
javascript 函数调用规则
2009/08/26 Javascript
jQuery 幻灯片插件(带缩略图功能)
2011/01/24 Javascript
javascript中的缓动效果实现程序
2012/12/29 Javascript
javascript中slice(),splice(),split(),substring(),substr()使用方法
2015/03/13 Javascript
谈谈javascript中使用连等赋值操作带来的问题
2015/11/26 Javascript
jQuery实现伪分页的方法分享
2016/02/17 Javascript
JQuery Mobile实现导航栏和页脚
2016/03/09 Javascript
使用JS实现图片展示瀑布流效果(简单实例)
2016/09/06 Javascript
使用jQuery的load方法设计动态加载及解决被加载页面js失效问题
2017/03/01 Javascript
vue.js国际化 vue-i18n插件的使用详解
2017/07/07 Javascript
微信小程序之页面跳转和参数传递的实现
2017/09/29 Javascript
Angular学习笔记之集成三方UI框架、控件的示例
2018/03/23 Javascript
[05:46]2018完美盛典-《同梦共竞》
2018/12/17 DOTA
[01:04:32]DOTA2-DPC中国联赛 正赛 Aster vs LBZS BO3 第二场 2月23日
2021/03/11 DOTA
浅谈Python中列表生成式和生成器的区别
2015/08/03 Python
python中子类继承父类的__init__方法实例
2016/12/15 Python
Python中optparser库用法实例详解
2018/01/26 Python
Python语言的变量认识及操作方法
2018/02/11 Python
pandas 转换成行列表进行读取与Nan处理的方法
2018/10/30 Python
python实现词法分析器
2019/01/31 Python
用python3 urllib破解有道翻译反爬虫机制详解
2019/08/14 Python
pyqt5 QlistView列表显示的实现示例
2020/03/24 Python
python一些性能分析的技巧
2020/08/30 Python
工程造价与财务管理专业应届生求职信
2013/10/06 职场文书
现场活动策划方案
2014/08/22 职场文书
2014最新股权信托合同协议书
2014/11/18 职场文书
《观潮》教学反思
2016/02/17 职场文书
sql查询结果列拼接成逗号分隔的字符串方法
2021/05/25 SQL Server
python3操作redis实现List列表实例
2021/08/04 Python
数据分析数据库ClickHouse在大数据领域应用实践
2022/04/03 MySQL
Java的Object类的九种方法
2022/04/13 Java/Android
Python查找算法的实现 (线性、二分,分块、插值查找算法)
2022/04/24 Python