`
lovezzy
  • 浏览: 78974 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

js with理解和用法

阅读更多

进来在看到在js中使用with,实话我以前从来没有碰到过。

eg:

with(Math) {
     alert(E); // 得到结果就是Math.E的结果
}
// 如果在外部使用
alert(E); // 不是Math中的E
// 根据 https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference:Statements:with 中的解释

with(arg) {
     statement
}
// arg在执行参数体的时候js通过with将arg加入大括号的作用域链中,让statement可以访问到arg,如上边的例子这样如果用户访问Math中的属性和方法的时候就可以直接写方法和属性名,就像window的全局属性和方法一样直接使用,省略前边的对象

// 一段伪代码
eg:
var obj = {E : "hello"};
with(Math) {
     alert(E);
     with(obj)  {
          alert(E);
     }
}
// 如果with嵌套使用就是按照作用域的顺序

 

分享到:
评论
2 楼 zhangxpower 2011-12-06  
  ..楼上神马表情啊
1 楼 zo.zhang 2010-10-14  
感谢分享,看的很明白~

相关推荐

    javascript中eval和with用法实例总结

    本文实例讲述了javascript中eval和with用法。分享给大家供大家参考,具体如下: 我们都知道javascript的作用域机制,但是with和eval有时会“破坏”我们对于作用域的常规理解。下面参考网上资源和自己理解总结一下...

    JavaScript详解(第2版)

     13.2.4 JavaScript对象方法和事件   13.3 处理窗口事件或框架事件   13.3.1 onLoad和onUnLoad事件   13.3.2 onFocus和onBlur事件函数   13.3.3 onResize事件处理函数   13.4 鼠标事件处理   ...

    编写可维护的JavaScript(中文)

    本书内容涵盖了编码风格、编程技巧、自动化、测试等几方面,既包括具体风格和原则的介绍,也包括示例和技巧说明,最后还介绍了如何通过自动化的工具和方法来实现一致的编程风格。  《编写可维护的JavaScript》作者...

    编写可维护的javascript(英文)

    本书内容涵盖了编码风格、编程技巧、自动化、测试等几方面,既包括具体风格和原则的介绍,也包括示例和技巧说明,最后还介绍了如何通过自动化的工具和方法来实现一致的编程风格。  《编写可维护的JavaScript》作者...

    JavaScript 图片切割效果

    3.把图片放到切割对象里面,通过设置图片的top和left实现,这个方法是可行,但下面有更简单的方法实现; 4.通过设置图片的clip来实现。 这里介绍方法4的实现方法,这个方法是从当年“珍藏”的代码中看到的,先说说...

    js 数据存储和DOM编程

    数据存储 ·在javascript中,数据存储的位置会对代码整体性能产生重大的影响。 ·数据存储共有4种方式:字面量、...①避免使用with、try-catch中的catch语句,因为它会改变执行环境的作用域链。 ②尽量少用嵌套对象、

    JavaScript 动态网页实例 - 流程控制语句.rar

    在 JavaScript 中,流程控制语句主要有: if语句、switch语句、while语句、do-while 语句、for 语句,以及专门...学好流程控制语句,不仅是JavaScript程序设计的基础,也是很好理解本系列后面文章中示例代码的前提。

    javascript高级教程

    学习Javascript比较快速有效的方法是先熟悉一些基本概念,然后找几个别人设计好的程序认真仔细地分析一遍,再稍作改动,再看看能否达到预期目的,不断地举一反三,既可以加深对一些参数、设计方法的理解,又可以快速...

    医学转录分析(MTA)演示了如何使用AmazonComprehendMedical和AmazonTranscribeMedica

    (更多详情、使用方法,请下载后细读README.md文件) '医学转录分析 医疗转录分析 (MTA) 是一种简单的解决方案,它利用 Amazon Transcribe Medical 和 Amazon Comprehend Medical 的强大功能来提供医疗笔记转录和理解...

    Cue:Cue.js-数据驱动的自定义元素

    使用真实的DOM :exploding_head: 无需额外的模板语言 :pile_of_poo: 标记中从来没有程序逻辑(c-for,c-if指令等) :smiling_face_with_heart-eyes: 通过促进单向数据流的可理解结构 :satellite: 具有计算和副作用...

    eslint-config-auditor:可共享的ESLint Config,可帮助您编写清晰,高效JavaScript代码

    在浏览器和Node.js上, Auditor都使您放心编写高效JavaScript代码。 除了优雅地添加标准JavaScript代码外,Auditor还具有对React,Jest和TypeScript的一流支持。 请参阅有关用法的。 安装 npm install --save-dev ...

    Practical-Internet-of-Things-with-[removed]Packt的实用JavaScript物联网

    我们将使用Raspberry Pi 3和JavaScript作为构建所有这些项目的基础。 我们将从谈论物联网开始,并从构建一个小型气象站开始,该站具有温度,湿度和大气压力测量功能。 您将进一步将Alexa与该气象站集成。 然后,您...

    Hands-On-Full-Stack-Web-Development-with-Aurelia:Packt发行的《使用Aurelia进行动手全栈Web开发》

    本书涵盖以下激动人心的功能: 从头开始使用Aurelia JS创建前端应用程序了解现代CSS预处理器创建具有自定义行为和逻辑的可导航Web应用程序使用微服务架构创建可理解的Restful API 了解NoSQL范例并从DB获得最佳性能...

    Node.js流程控制引擎Stepify.zip

    Stepify(node-stepify) 是一个简单易...step()的调用会创建一个Step实例,用于完成具体的异步操作(当然也可以是同步操作,不过意义不大),step之间使用简单的api(done方法和next方法)传递。 标签:Stepify

    JWT-Hapi-Mongoose-Mongodb-with-email-verification-and-forgot-password:使用JWT的基于令牌的用户身份验证,具有使用电子邮件链接验证帐户和重置密码选项等功能

    该应用程序的目的是展示一种与JWT,Hapi.js,Mongodb,Mongoose结合使用的新方法,并具有诸如使用电子邮件验证密码和重置密码等高级功能。 [Cronj]( ) 强烈建议您阅读[blog post]( ),以更好地理解。 如果您不...

    angular-http-decoration-with-cancellation:这个项目演示了一个带有取消方法的 angular $http 服务的装饰

    某些请求可能会在后端触发 CPU 密集型任务,这可能是客户端理解并意识到它不能更快​​的行为。 因此,在请求完成之前为客户端提供取消请求的选项是有意义的。 当我们想要在意识到任务完成毫无意义时采取缓解措施时...

    asp.net知识库

    动态调用对象的属性和方法——性能和灵活性兼备的方法 消除由try/catch语句带来的warning 微软的应试题完整版(附答案) 一个时间转换的问题,顺便谈谈搜索技巧 .net中的正则表达式使用高级技巧 (一) C#静态成员和...

    Vue2.x-mobileSystem:基于Vue2.0的移动端项目,项目没有使用vue-cli,全部手写,让小白更容易学习理解

    使用方法 将项目clone或下载至本地,执行以下命令 npm install //下载相关依赖包 npm run dev //开启服务器,即可看到效果页面 构建设置 # install dependencies npm install # serve with hot reload at localhost:...

    Applied-Data-Visualization-with-D3:Packt的D3应用数据可视化

    本课程中另一个有趣的主题是基于Voronoi的可视化以及创建热图的方法和方法。 在课程结束时,我们将更深入地研究D3.js提供的工具,以创建自定义形状和路径。 您将学到什么 了解如何在D3中可视化不同的图形 探索不同...

Global site tag (gtag.js) - Google Analytics