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 相关文章推荐
如何调试异步加载页面里包含的js文件
Oct 30 Javascript
jQuery+ajax实现实用的点赞插件代码
Jul 06 Javascript
gulp解决跨域的配置文件问题
Jun 08 Javascript
Angular4 组件通讯方法大全(推荐)
Jul 12 Javascript
微信小程序带动画弹窗组件使用方法详解
Nov 27 Javascript
vue2.0中set添加属性后视图不能更新的解决办法
Feb 22 Javascript
Vuex的实战使用详解
Oct 31 Javascript
Node配合WebSocket做多文件下载以及进度回传
Nov 07 Javascript
vue 实现tab切换保持数据状态
Jul 21 Javascript
Vue js with语句原理及用法解析
Sep 03 Javascript
vuecli项目构建SSR服务端渲染的实现
Oct 30 Javascript
JS中一些高效的魔法运算符总结
May 06 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介绍篇
2010/10/26 PHP
ThinkPHP文件上传实例教程
2014/08/22 PHP
十个PHP高级应用技巧果断收藏
2015/09/25 PHP
PHP识别二维码的方法(php-zbarcode安装与使用)
2016/07/07 PHP
Laravel如何友好的修改.env配置文件详解
2017/06/07 PHP
JavaScript下拉菜单功能实例代码
2017/03/01 Javascript
jQuery实用密码强度检测
2017/03/02 Javascript
使用sessionStorage解决vuex在页面刷新后数据被清除的问题
2018/04/13 Javascript
vue项目base64字符串转图片的实现代码
2018/07/13 Javascript
Angular2之二级路由详解
2018/08/31 Javascript
vue input实现点击按钮文字增删功能示例
2019/01/29 Javascript
vue-router源码之history类的浅析
2019/05/21 Javascript
微信小程序 select 下拉框组件功能
2019/09/09 Javascript
[42:20]2014 DOTA2华西杯精英邀请赛5 24 DK VS NewBee
2014/05/25 DOTA
Python语言的12个基础知识点小结
2014/07/10 Python
Python查找第n个子串的技巧分享
2018/06/27 Python
Python爬虫设置代理IP(图文)
2018/12/23 Python
浅谈python之高阶函数和匿名函数
2019/03/21 Python
Django 解决开发自定义抛出异常的问题
2020/05/21 Python
使用keras和tensorflow保存为可部署的pb格式
2020/05/25 Python
一文轻松掌握python语言命名规范规则
2020/06/18 Python
python3列表删除大量重复元素remove()方法的问题详解
2021/01/04 Python
德国网上宠物店:Zoobio
2018/05/23 全球购物
迪卡侬比利时官网:Decathlon比利时
2019/12/28 全球购物
英国知名小木屋定制网站:Tiger Sheds
2020/03/06 全球购物
初中生三年学习生活的自我评价
2013/11/03 职场文书
创业计划书的写作技巧及要点
2014/01/31 职场文书
平面设计求职信
2014/03/10 职场文书
珍惜时间演讲稿
2014/05/14 职场文书
文秘自荐信
2014/06/28 职场文书
精神文明建设先进个人事迹材料
2014/12/24 职场文书
Django drf请求模块源码解析
2021/06/08 Python
一篇文章看懂MySQL主从复制与读写分离
2021/11/07 MySQL
Go本地测试解耦任务拆解及沟通详解Go本地测试的思路沟通的重要性总结
2022/06/21 Golang
mysql sock文件存储了什么信息
2022/07/15 MySQL
Python 操作pdf pdfplumber读取PDF写入Exce
2022/08/14 Python