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 动态创建VML的方法
Oct 14 Javascript
js 蒙版进度条(结合图片)
Mar 10 Javascript
ExtJs3.0中Store添加 baseParams 的Bug
Mar 10 Javascript
js ondocumentready onmouseover onclick onmouseout 样式
Jul 22 Javascript
关于IE浏览器以及Firefox下的javascript冒泡事件的响应层级
Oct 14 Javascript
js获得页面的高度和宽度的方法
Feb 23 Javascript
简单的js图片轮换代码(js图片轮播)
May 06 Javascript
JS实现仿中关村论坛评分后弹出提示效果的方法
Feb 23 Javascript
JavaScript中iframe实现局部刷新的几种方法汇总
Jan 06 Javascript
JS DOM实现鼠标滑动图片效果
Sep 17 Javascript
React和Vue中监听变量变化的方法
Nov 14 Javascript
js实现带搜索功能的下拉框
Jan 11 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
php使用cookie实现记住登录状态
2015/04/27 PHP
CodeIgniter与PHP5.6的兼容问题
2015/07/16 PHP
PHP接口并发测试的方法(推荐)
2016/12/15 PHP
PHP基于Redis消息队列实现发布微博的方法
2017/05/03 PHP
Laravel实现表单提交
2017/05/07 PHP
php的优点总结 php有哪些优点
2019/07/19 PHP
javascript 日期时间函数(经典+完善+实用)
2009/05/27 Javascript
jQuery UI Dialog控件中的表单无法正常提交的解决方法
2010/12/19 Javascript
关于图片的预加载过程中隐藏未知的
2012/12/19 Javascript
Javascript Objects详解
2014/09/04 Javascript
javascript文本模板用法实例
2015/07/31 Javascript
深入php面向对象、模式与实践
2016/02/16 Javascript
使用jQuery Mobile框架开发移动端Web App的入门教程
2016/05/17 Javascript
AngularJS开发教程之控制器之间的通信方法分析
2016/12/25 Javascript
JavaScript正则获取地址栏中参数的方法
2017/03/02 Javascript
Angularjs按需查询实例代码
2017/10/30 Javascript
基于JavaScript实现幸运抽奖页面
2020/07/05 Javascript
微信小程序实现滴滴导航tab切换效果
2018/07/24 Javascript
Javascript实现时间倒计时功能
2018/11/17 Javascript
解决$store.getters调用不执行的问题
2019/11/08 Javascript
[03:09]显微镜下的DOTA2第一期——带你走进华丽的DOTA2世界
2014/06/20 DOTA
[01:48]DOTA2 2015国际邀请赛中国区预选赛第二日战报
2015/05/27 DOTA
在cmder下安装ipython以及环境的搭建
2018/10/19 Python
Pycharm新手使用教程(图文详解)
2020/09/17 Python
JSF面试题:Jsf中导航的标签是什么
2013/04/20 面试题
书香校园活动方案
2014/02/28 职场文书
工程资料员岗位职责
2014/03/10 职场文书
委托书范本
2014/09/13 职场文书
咖啡店创业计划书范文
2014/09/15 职场文书
离婚案件被告代理词
2015/05/23 职场文书
追讨欠款律师函
2015/06/24 职场文书
500字作文之周记
2019/12/13 职场文书
教你怎么用PyCharm为同一服务器配置多个python解释器
2021/05/31 Python
python中24小时制转换为12小时制的方法
2021/06/18 Python
javascript函数式编程基础
2021/09/15 Javascript
Python 游戏大作炫酷机甲闯关游戏爆肝数千行代码实现案例进阶
2021/10/16 Python