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 hasOwnProperty 方法 &amp; in 关键字
Nov 26 Javascript
Jquery插件分享之气泡形提示控件grumble.js
May 20 Javascript
原生javascript获取元素样式
Dec 31 Javascript
理解javascript中try...catch...finally
Dec 25 Javascript
JavaScrip常见的一些算法总结
Dec 28 Javascript
JS中的hasOwnProperty()、propertyIsEnumerable()和isPrototypeOf()
Aug 11 Javascript
JQ中$(window).load和$(document).ready区别与执行顺序
Mar 01 Javascript
详解vue-router 2.0 常用基础知识点之router.push()
May 10 Javascript
详解vue模拟加载更多功能(数据追加)
Jun 23 Javascript
npm全局模块卸载及默认安装目录修改方法
May 15 Javascript
浅谈JS for循环中使用break和continue的区别
Jul 21 Javascript
vue 数据操作相关总结
Dec 17 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
Wordpress php 分页代码
2009/10/21 PHP
Laravel 5框架学习之数据库迁移(Migrations)
2015/04/08 PHP
Javascript 调试利器 Firebug使用详解六
2009/07/05 Javascript
JavaScript 数组循环引起的思考
2010/01/01 Javascript
JS无法捕获滚动条上的mouse up事件的原因猜想
2012/03/21 Javascript
JQuery获取各种宽度、高度(format函数)实例
2013/03/04 Javascript
JavaScrip实现PHP print_r的数功能(三种方法)
2013/11/12 Javascript
jQuery中animate用法实例分析
2015/03/09 Javascript
Javascript常用小技巧汇总
2015/06/24 Javascript
javascript实现判断鼠标的状态
2015/07/10 Javascript
基于JS实现EOS隐藏错误提示层代码
2016/04/25 Javascript
js数组常用操作方法小结(增加,删除,合并,分割等)
2016/08/02 Javascript
jQuery 插件封装的方法
2016/11/16 Javascript
微信小程序之仿微信漂流瓶实例
2016/12/09 Javascript
JS失效 提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代码页 utf-8
2017/06/23 Javascript
Vue项目中quill-editor带样式编辑器的使用方法
2017/08/08 Javascript
JavaScript实现写入文件到本地的方法【基于FileSaver.js插件】
2018/03/15 Javascript
实例详解vue中的$root和$parent
2019/04/29 Javascript
jQuery实现朋友圈查看图片
2020/09/11 jQuery
vue打包通过image-webpack-loader插件对图片压缩优化操作
2020/11/12 Javascript
[16:21]教你分分钟做大人:圣堂刺客
2014/12/03 DOTA
[02:12]2019完美世界全国高校联赛(春季赛)报名开启
2019/03/01 DOTA
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
Python爬取qq music中的音乐url及批量下载
2017/03/23 Python
celery4+django2定时任务的实现代码
2018/12/23 Python
Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】
2019/01/05 Python
python 使用matplotlib 实现从文件中读取x,y坐标的可视化方法
2019/07/04 Python
Python日期格式和字符串格式相互转换的方法
2020/02/18 Python
Python3.9又更新了:dict内置新功能
2020/02/28 Python
Python面向对象特殊属性及方法解析
2020/09/16 Python
蔻驰意大利官网:COACH意大利
2019/01/16 全球购物
初中音乐教学反思
2014/01/12 职场文书
廉洁自律承诺书范文
2015/04/28 职场文书
小学生光盘行动倡议书
2015/04/28 职场文书
2015年驾驶员工作总结
2015/04/29 职场文书
python pyhs2 的安装操作
2021/04/07 Python