对象 属性 Javascript 的浏览器
Object Property Browser for Javascript
我想为我的 javascript 对象编写一个 属性 浏览器(如 .NET 属性grid),但作为一个新的 javascript 开发人员,我不确定在 javascript.
中管理属性等的最佳方法是什么
作为 C# 开发人员,我可以使用
这样的属性
[Category("My Properties")]
[Description("Simple Properties")]
[DisplayName("MyText")]
public string SomeText
{
get { return someText; }
set { someText = value; }
}
所以我的 属性 浏览器知道关于我的 class 属性的必要信息。
了解 属性 的类型也很重要。例如,如果 属性 的类型是日期,属性 浏览器应该显示一个日期选择器。
我的第一个想法是使用变量名。
this.date_StartDate
this.int_Length
然后 属性 网格可以只截断名称的第一部分并显示
StartDate 作为日期时间 属性 和
整数长度 属性.
如果有更好的方法请告诉我
没有真正的 "best" 方法,尽管我建议不要使用变量名来表示类型。
如果您需要支持自定义类型,例如颜色,我会采用以下方法:
我的方法是自己为所有对象添加一个类型,如 属性:
var date = {
value: "31/01/2015",
type: "date"
};
您还可以添加一个类型对象,作为一种枚举,这样您就不会在任何时候拼错您的类型。
var types = {
date: "date",
number: "number"
};
只要您使用本机 JavaScript 类型,例如数字、字符串、日期等,就不需要这样做。
在我自己的 属性 浏览器实验中,我只是简单地使用 typeof 来确定一个对象是什么类型。 JavaScript 只有几个基本类型(数组、未定义、字符串、数字、布尔值和函数),但是,有一个隐藏的 属性 可用于将 RegEx 或日期与对象分开。
// this function was taken from https://javascriptweblog.wordpress.com/2011/08/08/fixing-the-javascript-typeof-operator/
function toType(obj) {
return ({}).toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
}
typeof /aregex/ === "object" // true
typeof new Date() === "object" // true
toType(/aregex/) === "regexp" // true
toType(new Date()) === "date" // true
想获得更多灵感,可以看看my experimental property browser,它支持数字、对象、布尔值和函数。
由于我无法准确回答您的问题,希望这些一般信息可以帮助您找到答案。
我想为我的 javascript 对象编写一个 属性 浏览器(如 .NET 属性grid),但作为一个新的 javascript 开发人员,我不确定在 javascript.
中管理属性等的最佳方法是什么作为 C# 开发人员,我可以使用
这样的属性[Category("My Properties")]
[Description("Simple Properties")]
[DisplayName("MyText")]
public string SomeText
{
get { return someText; }
set { someText = value; }
}
所以我的 属性 浏览器知道关于我的 class 属性的必要信息。 了解 属性 的类型也很重要。例如,如果 属性 的类型是日期,属性 浏览器应该显示一个日期选择器。
我的第一个想法是使用变量名。
this.date_StartDate
this.int_Length
然后 属性 网格可以只截断名称的第一部分并显示 StartDate 作为日期时间 属性 和 整数长度 属性.
如果有更好的方法请告诉我
没有真正的 "best" 方法,尽管我建议不要使用变量名来表示类型。
如果您需要支持自定义类型,例如颜色,我会采用以下方法:
我的方法是自己为所有对象添加一个类型,如 属性:
var date = {
value: "31/01/2015",
type: "date"
};
您还可以添加一个类型对象,作为一种枚举,这样您就不会在任何时候拼错您的类型。
var types = {
date: "date",
number: "number"
};
只要您使用本机 JavaScript 类型,例如数字、字符串、日期等,就不需要这样做。
在我自己的 属性 浏览器实验中,我只是简单地使用 typeof 来确定一个对象是什么类型。 JavaScript 只有几个基本类型(数组、未定义、字符串、数字、布尔值和函数),但是,有一个隐藏的 属性 可用于将 RegEx 或日期与对象分开。
// this function was taken from https://javascriptweblog.wordpress.com/2011/08/08/fixing-the-javascript-typeof-operator/
function toType(obj) {
return ({}).toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
}
typeof /aregex/ === "object" // true
typeof new Date() === "object" // true
toType(/aregex/) === "regexp" // true
toType(new Date()) === "date" // true
想获得更多灵感,可以看看my experimental property browser,它支持数字、对象、布尔值和函数。
由于我无法准确回答您的问题,希望这些一般信息可以帮助您找到答案。