javascript多个对象实例的时间戳相同
javascript multiple object instance same timestamp
我很好奇为什么这会为每个返回相同的时间戳。我认为对象应该有不同的标识符。?
/js/helpers/v01.js
var Tester = (function () {
var object_id = 'Tester';
var object_id_unique = (new Date().getTime()) + '-' + (new Date().getMilliseconds());
var _this;
/**
*
* @constructor
*/
function Tester(obj_name) {
this.name = obj_name;
this.run();
}
Tester.prototype = {
run: function () {
"use strict";
var $body = document.getElementsByTagName('body')[0];
var $node = document.createElement('div');
$node.innerHTML = '<lable>' + this.name + ': </lable>' + ' ' + object_id + '-' + object_id_unique;
$body.appendChild($node);
}
};
return Tester;
})();
这是页面
<!DOCTYPE html>
<html lang="en">
<head>
<script type="text/javascript" src="/js/helpers/v01.js"></script>
</head>
<body>
<script type="text/javascript">
new Tester('A');
setTimeout(function () {
new Tester('B');
}, 500);
</script>
</body>
</html>
我的输出返回这个
A: Tester-1385613846838-838
B: Tester-1385613846838-838
在闭包中,您将永久设置object_id_unique
的值(因为函数在定义时立即调用,而不是在调用返回的函数时)-将其移动到返回的函数中。这应该解决它:
var Tester = (function () {
var object_id = 'Tester';
var _this;
/**
*
* @constructor
*/
function Tester(obj_name) {
this.name = obj_name;
this.run();
}
Tester.prototype = {
run: function () {
"use strict";
var object_id_unique = (new Date().getTime()) + '-' + (new Date().getMilliseconds());
var $body = document.getElementsByTagName('body')[0];
var $node = document.createElement('div');
$node.innerHTML = '<lable>' + this.name + ': </lable>' + ' ' + object_id + '-' + object_id_unique;
$body.appendChild($node);
}
};
return Tester;
})();
定义类时,您只创建了一次object_id_unique
。如果你希望它在每个实例中都不同,你需要在构造函数中分配它。
相关文章:
- 如何每10.6秒从时间戳增加+1
- 使用AngularJS从时间戳中获取工作日
- 将时间戳转换为java中的ISO860,
- Javascript Unix时间戳转换
- JavaScript JSON关联对象键和值都作为日期时间戳
- 时间戳与mongoskin如何
- 用时间戳获取两个不同日期之间的时间差
- JavaScript到PHP的时间戳失败,增加了大约一个半月的时间
- 转换unix时间戳转换
- 带有unix时间戳的d3.js平分线
- 当转换为Python日期时间时,Node的时间戳落后3分钟
- 如何检索AMD的XHR响应代码(+时间戳)'大型Dojo
- javascript时间戳插入字符串变量
- Moment.js unix时间戳,以分钟为单位显示以前的时间
- 事件时间戳谷歌分析
- 时间戳到文本
- Unix时间戳从现在输出为1970
- 如何使用javascript在嵌入式youtube视频上创建可点击的时间戳链接
- javascript多个对象实例的时间戳相同
- 无法使用从moment生成的unix时间戳初始化moment实例(无效日期)