隐藏对象's字段
Hide object's field in JavaScript
我用这个函数构造函数为一个简单的秒表对象定义了一个蓝图:
function StopWatch() {
function now() {
var d = new Date();
return d.getTime();
}
this.start = now();
this.elapsed = function() {
return Math.round((now() - this.start) / 1000);
}
}
我现在可以在s
:中保存对新秒表的引用
var s = new Stopwatch();
并获得以秒为单位的经过时间:
s.elapsed();
但是start
属性也是可访问的。我怎么能把它藏起来?
您通过执行将start
属性包含在正在构建的对象中
this.start = now();
相反,您可以简单地在本地声明变量,并且由于闭包属性的原因,elapsed
函数仍然可以使用该变量。
function StopWatch() {
var start = (new Date()).getTime();
this.elapsed = function() {
return Math.round(((new Date()).getTime() - start) / 1000);
}
}
或者,你可以从函数中返回一个对象,比如这个
function StopWatch() {
var start = (new Date()).getTime();
return {
elapsed: function() {
return Math.round(((new Date()).getTime() - start) / 1000);
}
}
}
相关文章:
- 如何访问对象内部的“categoryIds”字段/键,该对象包含mongodb's `ObjectId(s)`数
- MongoDB-通过比较集合和对象的数组来返回现有字段的数组
- 如何创建具有默认值的JavaScript对象字段?(AngularJS模型相关)
- 如何在angularjs中传递对象字段作为指令参数
- 更新嵌套对象的多个字段
- 创建一个带有可变字段的json对象
- 对象中可选字段的流类型
- 有了字段的名称,我如何用空白数据初始化对象的未定义字段
- FilterHeader不适用于模型字段类型对象
- 访问KendoUI中Datasource过滤对象的字段
- 在jquery中,从同一对象的属性设置输入字段和标签的正确方法是什么
- 如何在初始化过程中引用同一对象内的对象字段
- 如何使用Typescript创建一个包含对象的字段的新对象
- 将一个html表转换为json对象并将其发送到php页面,该表有一个输入字段
- 编码为深度嵌套对象的 HTML 字段 json
- 在 Java 中访问 JavaScript 对象的字段
- Rails的问题,haml + javascript在字段对象的模糊
- 即使对于非空窗体,FormData对象也返回空.对于具有2个输入字段的表单,
- findAndModify,如何对文档进行操作's数组搜索对象并更改字段值
- Rally SDK 2 标签选择器是否有必填字段?对象没有方法'getContextPath'