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实现仿银行密码输入框效果的代码
Dec 13 Javascript
JavaScript接口实现代码 (Interfaces In JavaScript)
Jun 11 Javascript
模拟jQuery ajax服务器端与客户端通信的代码
Mar 28 Javascript
提取jquery的ready()方法单独使用示例
Mar 25 Javascript
JS仿hao123导航页面图片轮播效果
Sep 01 Javascript
jQuery实现遮罩层登录对话框
Dec 29 Javascript
javascript使用btoa和atob来进行Base64转码和解码
Mar 20 Javascript
angular2模块和共享模块详解
Apr 08 Javascript
js中数组常用方法总结(推荐)
Apr 09 Javascript
Vue数据绑定简析小结
May 07 Javascript
javascript头像上传代码实例
Sep 28 Javascript
Vue动态加载图片在跨域时无法显示的问题及解决方法
Mar 10 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中文字符截取防乱码
2008/03/28 PHP
PHP 一个比较完善的简单文件上传
2010/03/25 PHP
PHP多进程编程总结(推荐)
2016/07/18 PHP
TFDN图片播放器 不错自动播放
2006/10/03 Javascript
URL编码转换,escape() encodeURI() encodeURIComponent()
2006/12/27 Javascript
一行代码告别document.getElementById
2012/06/01 Javascript
通过Javascript创建一个选择文件的对话框代码
2012/06/16 Javascript
JS创建类和对象的两种不同方式
2014/08/08 Javascript
浅谈Javascript中substr和substring的区别
2015/09/30 Javascript
基于jQuery插件实现点击小图显示大图效果
2016/05/11 Javascript
深入浅析Nodejs的Http模块
2017/06/20 NodeJs
animate.css在vue项目中的使用教程
2018/08/05 Javascript
element-ui 设置菜单栏展开的方法
2018/08/22 Javascript
JavaScript实现shuffle数组洗牌操作示例
2019/01/03 Javascript
webpack实践之DLLPlugin 和 DLLReferencePlugin的使用教程
2019/06/10 Javascript
jQuery擦除插件eraser使用方法详解
2020/01/11 jQuery
JavaScript中的各种宽高属性的实现
2020/05/08 Javascript
JavaScript 实现继承的几种方式
2021/02/19 Javascript
Python logging模块学习笔记
2014/05/24 Python
跟老齐学Python之折腾一下目录
2014/10/24 Python
更改Python命令行交互提示符的方法
2015/01/14 Python
Django高级编程之自定义Field实现多语言
2019/07/02 Python
tensorflow保持每次训练结果一致的简单实现
2020/02/17 Python
Spring @Enable模块驱动原理及使用实例
2020/06/23 Python
HTML5图片层叠的实现示例
2020/07/07 HTML / CSS
主要的Ajax框架都有什么
2013/11/14 面试题
酒店总经理欢迎词
2014/01/15 职场文书
财产公证书
2014/04/10 职场文书
公司踏青活动方案
2014/08/16 职场文书
班主任2015新年寄语
2014/12/08 职场文书
班级元旦晚会开幕词
2015/01/29 职场文书
小学体育组工作总结
2015/08/13 职场文书
小学运动会开幕词
2016/03/04 职场文书
实用求职信模板范文
2019/05/13 职场文书
60句有关成长的名言
2019/09/04 职场文书
使用 Apache 反向代理的设置技巧
2022/01/18 Servers