`

js中with的用法

阅读更多

with 语句 为一个代码块指定默认对象。

用法:with (对象){代码块}

 

with 语句通常用来缩短特定情形下必须写的代码量。在下面的例子中,请注意 Math 的重复使用:

x = Math.cos(3 * Math.PI) + Math.sin(Math.LN10);
y = Math.tan(14 * Math.E);

当使用 with 语句时,代码变得更短且更易读:

with (Math) {
   x = cos(3 * PI) + sin(LN10);
   y = tan(14 * E);
}

例如:

var sMessage = "hello";
with(sMessage){
    alert(toUpperCase());//输出"HELLO"
}

 

 

在这个例子中,with语句用于字符串,所以在调用toUpperCase()方法时,浏览器将检查该方法是否是本地的函数。如果不是,它将检查伪对象sMessage,看toUpperCase是否为该对象的方法,然后alert输出"HELLO",因为浏览器在解释程序时找到了字符串"hello"的toUpperCase()方法。

 

在W3School上的一段代码的解释

<html> 

<head> 
<script type="text/javascript"> 
function validate_required(field,alerttxt) { 
    with (field) { 
        if (value==null||value=="") {
            alert(alerttxt);return false;
        }else {
           return true;
        } 
    } 
}

function validate_form(thisform) { 
    with (thisform) { 
        if (validate_required(email,"Email must be filled out!")==false) {
            email.focus();return false;
       } 
    }
} 
</script> 
</head> 

<body> 
<form action="submitpage.htm" onsubmit="return validate_form(this)" method="post">
Email: <input type="text" name="email" size="30"> 
<input type="submit" value="Submit">
</form> 
</body>

</html> 

 

 

提交表单时,执行validate_form方法,并把表单对象作为参数传入方法中,在validate_form方法中,先判断validate_required方法,由于该方法是公共的,所以可以直接找到,而作为参数的对象email在当前作用域中不存在,所以需要到thisform这个表单对象的作用域中查找name属性是email的表单元素,找到后,执行validate_required方法,在validate_required方法中需要查找value对象,而在validate_required方法的作用域中找不到value属性,因此需要到field中查找(field这时就是name等于email表单元素),field中存在value属性,如果该属性的值为空,给出提示信息并返回false,否则返回true,如果validate_required方法返回true,表单成功提交,如果返回false,email获得焦点并且表单不提交。

分享到:
评论

相关推荐

    Javascript中With语句用法实例

    With语句在JavaScript中是一种特殊的语法结构,它的作用是扩展一个语句的作用域链。通过with语句可以不需要重复引用某个对象就能多次访问该对象的属性。这在某些情况下可以减少代码的书写量,但同时它也存在争议,...

    javascript中eval和with用法实例总结.docx

    ### JavaScript中的`eval`与`with`用法详解 #### 一、`eval`函数 ##### 1. 定义 `eval`是JavaScript中一个非常强大的内置函数,它可以将字符串解析并执行为JavaScript代码。这使得开发者能够在运行时动态地创建和...

    javascript中eval和with用法实例总结

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

    javascript简单事件处理和with用法介绍.docx

    ### JavaScript简单事件处理和with用法介绍 #### 一、JavaScript事件处理 JavaScript是一种广泛使用的脚本语言,常用于Web前端开发中增加交互性。在Web开发中,事件处理是实现用户与页面交互的重要手段之一。 ###...

    Learn JavaScript with p5.js--2018年

    在《Learn JavaScript with p5.js》这本书中,作者Engin Arslan带领读者从零开始学习如何使用JavaScript和p5.js库创建计算机图形。本书面向初学者,特别是那些对视觉学习感兴趣的人士。 **JavaScript**是一种广泛...

    javaScript中with函数用法实例分析

    JavaScript中的`with`函数,实际上是一个语句,它允许开发者在一个特定的作用域内,将一个对象的属性作为当前作用域的一部分。这意味着,在`with`语句块内的代码可以直接使用对象的属性,而无需每次都写全对象名。...

    Getting Started with p5.js中文版

    《Getting Started with p5.js中文版》是一本针对初学者的p5.js教程,由Lauren McCarthy、Casey Reas和Ben Fry共同创作。p5.js是一个基于JavaScript的创意编程库,它的目标是使编程变得更为易用和包容,特别适合艺术...

    js出现.endWith is not a function问题.pdf

    JavaScript中的`.endWith()`方法并不是一个内置的函数,这可能是你在尝试使用时遇到“endWith is not a function”错误的原因。这个错误表明你试图在一个对象(可能是字符串)上调用一个不存在的方法。在JavaScript...

    Vue js with语句原理及用法解析

    总之,Vue.js的`with`语句用法是为了简化组件渲染过程中的属性访问,但考虑到其潜在的性能和可维护性问题,应当谨慎使用。在日常开发中,遵循Vue的最佳实践,如声明式数据绑定和使用方法,将有助于创建更加高效且...

    javascript简单事件处理和with用法介绍

    在本次内容中,我们将详细探讨JavaScript中的事件处理以及with语句的用法。首先,我们来了解一下JavaScript中的事件处理机制,它允许网页开发者对用户的操作做出响应。具体来说,我们会关注鼠标点击与移动这两种常见...

    javascript中的遍历for in 以及with的用法

    for in 循环执行一个对象中的属性 with语句: (对象操作语句)  功能:为一段程序建立默认对象  格式: 代码如下:  with(&lt;对象&gt;){  &lt;语句组&gt;  } 具体示例: 代码如下: [removed] function member(name,...

    Data Visualization with D3.js Cookbook

    ### 数据可视化与D3.js知识点概述 ...通过《Data Visualization with D3.js Cookbook》,读者不仅能够掌握D3.js的基本用法,还能学到如何运用这一强大的工具来解决实际问题,为自己的项目增添价值。

    javascript中的with语句学习笔记及用法

    JavaScript中的`with`语句是一种特殊的作用域控制结构,它允许你在一段代码中方便地访问某个对象的属性,而无需反复地使用`.`或`[]`操作符。`with`语句的基本语法是: ```javascript with (expression) { // 代码...

    angular js代码食谱(recipes with angular js)

    《Angular JS代码食谱》是一本专为开发者准备的实战指南,它深入浅出地介绍了Angular JS这个强大的前端框架的基本特性和用法。这本书通过一系列精心设计的代码示例,帮助读者快速理解和掌握Angular JS的核心概念,...

    begin javascript css with jquery

    《Begin Javascript CSS with jQuery》是一本专注于jQuery技术的...通过学习,读者不仅可以熟练掌握jQuery的基本用法,还能深入了解如何将JavaScript、CSS和jQuery结合起来,构建高性能、用户体验优良的现代Web应用。

Global site tag (gtag.js) - Google Analytics