js context 什么作用 context$2$0

JavaScript021

js context 什么作用 context$2$0,第1张

jsp中 这里是后台脚本,可以直接写java代码 中是写java变量的 是读取显示变量用的 比如你小脚本里 然后下边HTML标签中赋值的时候可以用 如 这个文本框显示在页面上就是有默认值未“字符串”的 也可以用给当前页中的JS变量赋值

针对不同的对象绑定不同的 context。

如果大部分 context 是相似的,你可以考虑写一个 create 函数来为不同的对象创建 context。

给你举个例

HTML

<ul>

<li id="li1">第1行</li>

<li id="li2">第2行</li>

<li id="li3">第3行</li>

<li id="li4">第4行</li>

<li id="li5">第5行</li>

</ul>

JavaScript

如果给某个 li 添加右键菜单是这样

context.attach("#li1", {

text: "菜单项",

action: function(e) {

alert("menu for #li1")

}

})

但问题是要给每个都加,所以用一个 builder 函数

// 写个 builder 函数

function attachContext(selector) {

context.attach(selector, {

text: "菜单项",

action: function(e) {

alert("menu for " + selector)

}

})

}

// 然后给每个 li 加菜单

$("li[id]").each(function() {

var id = $(this).prop("id")

attachContext("#" + id)

})

总结:把每个菜单不同的地方提取出来作为 builder 的参数传入,包括附加到的DOM对象本身也作为参数,就可以在 action 中自由处理了

执行上下文有 三种 类型:

执行上下文也是一个对象!那么这个对象中包括了哪些内容呢

每一个 执行上下文都包括三个属性:

存储执行上下文的数据结构是堆栈,它是一种先进后出的数据结构, 称其为 执行栈

1.当js引擎首次读取读取脚本时,便会创建一个全局执行上下文,并将其压入栈底,

我们假设一开始的上下文执行栈为 []