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 相关文章推荐
B/S模式项目中常用的javascript汇总
Dec 17 Javascript
jsp网页搜索结果中实现选中一行使其高亮
Feb 17 Javascript
JavaScript实现的使用键盘控制人物走动实例
Aug 27 Javascript
JavaScript多并发问题如何处理
Oct 28 Javascript
angular.js 路由及页面传参示例
Feb 24 Javascript
jQuery validata插件实现方法
Jun 25 jQuery
React Native模块之Permissions权限申请的实例相机
Sep 28 Javascript
浅谈Vue初学之props的驼峰命名
Jul 19 Javascript
video.js 实现视频只能后退不能快进的思路详解
Aug 09 Javascript
如何为你的JS项目添加智能提示与类型检查详解
Mar 12 Javascript
解决微信授权成功后点击按返回键出现空白页和报错的问题
Jun 08 Javascript
解决VUE-Router 同一页面第二次进入不刷新的问题
Jul 22 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
日本十大最佳动漫,全都是二次元的神级作品
2019/10/05 日漫
PHP新手上路(五)
2006/10/09 PHP
php删除字符串末尾子字符,删除开始字符,删除两端字符(实现代码)
2013/06/27 PHP
php实现四舍五入的方法小结
2015/03/03 PHP
PHP实现递归目录的5种方法
2016/10/27 PHP
10个值得深思的PHP面试题
2016/11/14 PHP
微信公众号实现会员卡领取功能
2017/06/08 PHP
强制设为首页代码
2006/06/19 Javascript
javascript针对DOM的应用分析(四)
2012/04/15 Javascript
javascript函数声明和函数表达式区别分析
2014/12/02 Javascript
jQuery模拟新浪微博首页滚动效果的方法
2015/03/11 Javascript
深入浅析JavaScript面向对象和原型函数
2016/02/06 Javascript
如何利用JQuery实现从底部回到顶部的功能
2016/12/27 Javascript
js css3实现图片拖拽效果
2017/03/04 Javascript
layui导航栏实现代码
2017/05/19 Javascript
BootStrap模态框不垂直居中的解决方法
2017/10/19 Javascript
vue项目实战总结篇
2018/02/11 Javascript
JavaScript获取用户所在城市及地理位置
2018/04/21 Javascript
ES7之Async/await的使用详解
2019/03/28 Javascript
详解实现vue的数据响应式原理
2021/01/20 Vue.js
[47:35]VP vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/20 DOTA
Python读写Json涉及到中文的处理方法
2016/09/12 Python
Django读取Mysql数据并显示在前端的实例
2018/05/27 Python
python日期时间转为字符串或者格式化输出的实例
2018/05/29 Python
python实现字符串加密 生成唯一固定长度字符串
2019/03/22 Python
Pycharm保存不能自动同步到远程服务器的解决方法
2019/06/27 Python
python抓取多种类型的页面方法实例
2019/11/20 Python
Python LMDB库的使用示例
2021/02/14 Python
全球知名提供各类营养保健品的零售商:Vitamin Shoppe
2016/10/09 全球购物
美国优质马术服装购买网站:Breeches.com
2019/12/16 全球购物
施工人员岗位职责
2013/12/12 职场文书
医院护士见习期自我鉴定
2014/04/10 职场文书
厂区绿化方案
2014/05/08 职场文书
中学教师个人总结
2015/02/10 职场文书
Jupyter notebook 输出部分显示不全的解决方案
2021/04/24 Python
python opencv旋转图片的使用方法
2021/06/04 Python