js中有线程(类)变量吗
Are there thread(sort of) variables in js?
我不知道该怎么称呼它们,所以我将它们称为线程。我所说的线程是指当你按下一个按钮,触发一个js
代码执行链时,那就是一个线程。如果你再次按下按钮,那就是来自同一个地方的新线程。所以基本上,这个执行的连续性是由任何东西从开始到结束发起的。
好的,所以我要做的是确定线程来自哪里和/或它在哪里。例如,代码可能是这样流动的:
按钮A->功能1->功能2-
或者这个:
按钮B->功能3->功能1->功能2-
它们最终都在同一个地方,所涉及的任何数据都经过至少部分相同的处理。在函数2中,我想弄清楚这个线程是从哪里来的,它是从按钮A还是B来的?还是另一个地方?
我知道的一种方法是这样做:
<input type="button" value="A" onclick="this.from = 'button A'; function1();">
function1() {
function2();
}
function2() {
console.log(this.from);
}
由于它在整个线程中传播,我可以将一些东西附加到它上,比如属性"from"。然而,在我的情况下,线程需要遍历一些改变这个的函数,例如
this.objectMemberFunc = function() {}.bind(this);
并且财产丢失。尽管我到处都在使用.bind(this)
,但我不知道它实际上是如何工作的,我只知道它引用了我在其中生成这些函数的对象实例。有东西告诉我,我可能会使用绑定来实现我的优势,那么我该如何使用它将属性附加到我的线程?
我在函数2中试图弄清楚这个线程来自哪里,它来自按钮A还是B您可以将event
传递到您的函数中
document.getElementById('btnA').addEventListener('click', doSomething, false);
document.getElementById('btnB').addEventListener('click', doSomething, false);
function doSomething(e){
alert(e.target.id)
}
<button id="btnA">Click A</button>
<button id="btnB">Click B</button>
然后你就能识别出按下了哪个按钮。
感谢
相关文章:
- 在javaservlet doPost方法中启动线程时,无法返回异常消息
- javascript中的多线程
- Javascript支持多线程吗
- 如何在nodejs中创建线程池
- 起始节点.js用于并行的线程池
- Doppio:多线程是如何工作的,有什么限制吗
- 为什么Javascript SetTimeout()不是多线程的
- Selenium异步脚本在自己的线程中阻塞其他脚本
- Node.js如何使用更少的线程来处理多个连接
- Node.js如何用一个线程处理同时请求
- 从多线程C++插件回调NodeJS Javascript函数
- 电子框架是否允许网络工作者进行多线程处理
- 追加新web组件时出现线程问题
- 隔离每个线程/用户的setInterval
- Angular js显示类似gmail的重叠电子邮件线程
- 在节点.js的多个线程中运行任务
- JavaScript的setInterval可以阻止线程执行吗?
- 是否可以在加载Disqus线程后使用javascript覆盖Disqus 2012中的css
- Web 工作线程中的同步 XHR 请求是否仍会锁定浏览器
- 如何在Web工作线程中使用javascript变量