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);
}
this 对象 返回“当前”对象。在不同的地方,this 代表不同的对象。如果在 JavaScript 的“主程序”中(不在任何 function 中,不在任何事件处理程序中)使用 this,它就代表 window 对象;如果在 with 语句块中使用 this,它就代表 with 所指定的对象;如果在事件处理程序中使用 this,它就代表发生事件的对象。
一个常用的 this 用法:
<script>
...
function check(formObj) {
...
}
...
</script>
<body ...>
...
<form ...>
...
<input type="text" ... onchange="check(this.form)">
...
</form>
...
</body>
这个用法常用于立刻检测表单输入的有效性。
---------------------------------------------
javascript 中this 的用法:
1.<div onclick="// 可以在里面使用this">division element</div> this 指向div
2. <div id="elmtDiv">division element</div>
<script language="javascript">
var div = document.getElementById('elmtDiv');
div.attachEvent('onclick', EventHandler); //attachEvent把div的onclick事件和一个方法绑定
function EventHandler()
{
// 在此使用this
}
</script>在此this 指向window对象,若要引用div对象this.event.srcElement;
3、用DHTML方式在事件处理函数中使用this关键字:
<div id="elmtDiv">division element</div>
<script language="javascript">
var div = document.getElementById('elmtDiv');
div.onclick = function()
{
// 在此使用this
};
</script>产生的方法同上,但此处的this 指向div
4、类定义中使用this关键字:
function JSClass()
{
var myName = 'jsclass';
this.m_Name = 'JSClass';
}
JSClass.prototype.ToString = function()
{
alert(myName + ', ' + this.m_Name);
};
var jc = new JSClass();
jc.ToString();//这是JavaScript模拟类定义中对this的使用,这个和其它的OO语言中的情况非常的相识。但是这里要求成员属性和方法必须使用this关键字来引用,运行上面的程序会被告知myName未定义。
5、为脚本引擎内部对象添加原形方法中的this关键字:
Function.prototype.GetName = function()
{
var fnName = this.toString();
fnName = fnName.substr(0, fnName.indexOf('('));
fnName = fnName.replace(/^function/, '');
return fnName.replace(/(^\s+)|(\s+$)/g, '');
}
function foo(){}
alert(foo.GetName()); //这里的this指代的是被添加原形的类的实例,和4中类定义有些相似,没有什么太特别的地方。
分享到:
相关推荐
### JavaScript中的`eval`与`with`用法详解 #### 一、`eval`函数 ##### 1. 定义 `eval`是JavaScript中一个非常强大的内置函数,它可以将字符串解析并执行为JavaScript代码。这使得开发者能够在运行时动态地创建和...
在《Learn JavaScript with p5.js》这本书中,作者Engin Arslan带领读者从零开始学习如何使用JavaScript和p5.js库创建计算机图形。本书面向初学者,特别是那些对视觉学习感兴趣的人士。 **JavaScript**是一种广泛...
### JavaScript简单事件处理和with用法介绍 #### 一、JavaScript事件处理 JavaScript是一种广泛使用的脚本语言,常用于Web前端开发中增加交互性。在Web开发中,事件处理是实现用户与页面交互的重要手段之一。 ###...
With语句在JavaScript中是一种特殊的语法结构,它的作用是扩展一个语句的作用域链。通过with语句可以不需要重复引用某个对象就能多次访问该对象的属性。这在某些情况下可以减少代码的书写量,但同时它也存在争议,...
本文实例讲述了javascript中eval和with用法。分享给大家供大家参考,具体如下: 我们都知道javascript的作用域机制,但是with和eval有时会“破坏”我们对于作用域的常规理解。下面参考网上资源和自己理解总结一下...
《Getting Started with p5.js中文版》是一本针对初学者的p5.js教程,由Lauren McCarthy、Casey Reas和Ben Fry共同创作。p5.js是一个基于JavaScript的创意编程库,它的目标是使编程变得更为易用和包容,特别适合艺术...
JavaScript中的`.endWith()`方法并不是一个内置的函数,这可能是你在尝试使用时遇到“endWith is not a function”错误的原因。这个错误表明你试图在一个对象(可能是字符串)上调用一个不存在的方法。在JavaScript...
vue源码中编译部分有下面一段代码,里面用到了with: export function generate ( ast: ASTElement | void, options: CompilerOptions ): CodegenResult { const state = new CodegenState(options) const code...
JavaScript中的`with`函数,实际上是一个语句,它允许开发者在一个特定的作用域内,将一个对象的属性作为当前作用域的一部分。这意味着,在`with`语句块内的代码可以直接使用对象的属性,而无需每次都写全对象名。...
在本次内容中,我们将详细探讨JavaScript中的事件处理以及with语句的用法。首先,我们来了解一下JavaScript中的事件处理机制,它允许网页开发者对用户的操作做出响应。具体来说,我们会关注鼠标点击与移动这两种常见...
### 数据可视化与D3.js知识点概述 ...通过《Data Visualization with D3.js Cookbook》,读者不仅能够掌握D3.js的基本用法,还能学到如何运用这一强大的工具来解决实际问题,为自己的项目增添价值。
《Angular JS代码食谱》是一本专为开发者准备的实战指南,它深入浅出地介绍了Angular JS这个强大的前端框架的基本特性和用法。这本书通过一系列精心设计的代码示例,帮助读者快速理解和掌握Angular JS的核心概念,...
JavaScript中的`with`语句是一种特殊的作用域控制结构,它允许你在一段代码中方便地访问某个对象的属性,而无需反复地使用`.`或`[]`操作符。`with`语句的基本语法是: ```javascript with (expression) { // 代码...
书中可能会对比传统JavaScript与现代JavaScript的差异,并简单介绍这些流行框架的基本用法。 六、实践与项目 理论学习之外,书中的实例和练习将帮助读者将所学知识应用于实际项目中。读者可能需要完成诸如动态加载...
《Begin Javascript CSS with jQuery》是一本专注于jQuery技术的...通过学习,读者不仅可以熟练掌握jQuery的基本用法,还能深入了解如何将JavaScript、CSS和jQuery结合起来,构建高性能、用户体验优良的现代Web应用。