Context:(JS上下文)
var obj = {
yes:function(){
this.val=true;
},
no:function(){
this.val=false;
}
};
alert(obj.va);
obj.yes();
alert(obj.val);
上述代码中第一处打印是undefined,第二处打印的是true。说明此时val的上下文变了。
下面更改代码:
var obj = {
yes:function(){
this.val=true;
},
no:function(){
this.val=false;
}
};
obj.yes();
window.no = obj.no;
window.no();
alert(obj.val);
这段代码打印结果还是true,虽然调用了window.no()但是此时val的context已经上升到window,不会影响到obj。
使用Call和Apply可以控制context。
看代码:
var obj = {
yes:function(){
this.val=true;
},
no:function(){
this.val=false;
}
};
function Car(){
//
}
var c = new Car();
obj.yes.call(c);
alert(c.val);
此时打印结果是true,Car对象奇迹般的拥有了val属性。且此时val的作用context只是car对象,即c;如果试着打印alert(obj.val)。得到的结果会是undefined。这样就控制了context的变化。Apply的用法和Call类似。
分享到:
相关推荐
Javascript上下文菜单库-创建动态的右键单击或弹出菜单。 菜单 选项 isSticky 宽度 项目 菜单项 种类 子菜单 悬停菜单 分隔符 纽扣 自定义元素 多按钮(WIP) 选项 图标 cssIcon 标签 类型 onClick 捷径 子菜单 ...
具有FontAwesome支持的轻量级香草JavaScript上下文菜单库。 这个库是为在我的个人项目中使用而编写的,它是针对上下文菜单功能的AIO解决方案,我希望我只能分散在多个不同的上下文菜单库中。 这是很早的时候,我将...
Web应用程序的跨浏览器JavaScript上下文菜单控件。
js上下文理解js上下文理解js上下文理解js上下文理解js上下文理解js上下文理解js上下文理解js上下文理解js上下文理解js上下文理解
可以使用HTML上下文菜单表示法来指定标记,也可以使用contextmenu对象提供的简单Javascript API构建DOM节点,并添加一些JavaScript以确保浏览器的兼容性。 API范例 var menu = contextmenu([ { label: "First ...
详细讲解javascript中执行上下文、函数堆栈、变量提升的原理,对代码解析运行过程有更深层的理解
Context.js 是一个用于 Web 的上下文菜单库,当然是用 JavaScript 编写的。 你可以试试这个。 安装 步骤1 将上下文文件夹复制到您的项目目录。 第2步 将 CSS 样式链接到您的 HTML 代码 < link rel =" ...
详解JavaScript中的执行上下文及调用堆栈 目录 一、执行上下文是什么二、执行上下文栈是什么三、执行上下文栈的过程细节(一)创建阶段(二)执行阶段 一、执行上下文是什么 二、执行上下文栈是什么 三、执行...
执行上下文就是当前的 JavaScript 代码被解析和执行时所在环境的抽象概念, JavaScript 中运行任何的代码都是在执行上下文中运行的. 2 执行上下文的类型 执行上下文分为三种类型: 全局执行上下文:只有一个,这是默认...
理解JavaScript的运行上下文及原型
class2context是一款非常实用的纯JavaScript右键上下文菜单插件。该右键菜单插件使用简单,性能高,通过简单的js语句即可完成右键菜单的配置。
作为一个前端开发人员,弄清楚JavaScript的执行上下文有助于我们理解js中一些晦涩的概念,比如闭包,作用域,变量提升等等。 执行栈 执行栈用于存储代码执行期间创建的所有执行上下文。具有FILO接口,也被称为调用...
所以 JavaScript 引擎创建了执行上下文栈(Execution context stack,ECS)来管理执行上下文为了模拟执行上下文栈的行为,让我们定
本文实例讲述了javascript执行上下文、变量对象。分享给大家供大家参考,具体如下: 突然看到一篇远在2010年的老文,作者以章节的形式向我们介绍了ECMA-262-3的部分内容,主要涉及到执行上下文、变量对象、作用域、...
面向对象概念(对象封装,各种继承,闭包原理,this作用域等)介绍清晰易懂