打印javascript字符串对象属性和方法
print the javascript string object properties and methods
如何打印javascript字符串对象的属性和方法
下面的代码段不打印任何东西。
for (x in String) {
document.write(x);
}
String
的属性都是不可枚举的,这就是为什么你的循环没有显示它们。您可以在ES5环境中使用Object.getOwnPropertyNames
函数查看自己的属性:
Object.getOwnPropertyNames(String);
// ["length", "name", "arguments", "caller", "prototype", "fromCharCode"]
你可以用Object.getOwnPropertyDescriptor
函数验证它们是不可枚举的:
Object.getOwnPropertyDescriptor(String, "fromCharCode");
// Object {value: function, writable: true, enumerable: false, configurable: true}
如果您想查看String
实例方法,则需要查看String.prototype
。注意,这些属性也是不可枚举的:
Object.getOwnPropertyNames(String.prototype);
// ["length", "constructor", "valueOf", "toString", "charAt"...
首先它必须声明为Object,(可以使用'new'关键字)
s1 = "2 + 2";
s2 = new String("2 + 2");
console.log(eval(s1));
console.log(eval(s2));
或
console.log(eval(s2.valueOf()));
尝试在Chrome的开发人员工具或Firefox的Firebug中使用控制台。
and try this
for (x in new String()) {
console.log(x);
}
这应该可以完成工作:
var StringProp=Object.getOwnPropertyNames(String);
document.write(StringProp);
-->> ["length", "name", "arguments", "caller", "prototype", "fromCharCode"]
但你可能更感兴趣的是:
var StringProtProp=Object.getOwnPropertyNames(String.prototype);
document.write(StringProtProp);
-->> ["length", "constructor", "valueOf", "toString", "charAt", "charCodeAt", "concat",
"indexOf", "lastIndexOf", "localeCompare", "match", "replace", "search", "slice", "split",
"substring", "substr", "toLowerCase", "toLocaleLowerCase", "toUpperCase", "toLocaleUpperCase",
"trim", "trimLeft", "trimRight", "link", "anchor", "fontcolor", "fontsize", "big", "blink",
"bold", "fixed", "italics", "small", "strike", "sub", "sup"]
相关文章:
- 序列化数据属性中对象的最可靠方法
- 如何从对象的原型方法访问JavaScript对象属性
- 设置嵌套对象属性的更好方法
- JQuery示例不起作用-“;对象没有't支持属性或方法'按钮'&”;
- 对象不支持属性或方法“自动完成”
- 为什么我可以在Array属性对象中找到Javascript Array for Each方法
- Es6:能够在设置/更新/删除对象属性时调用自定义方法
- 区分具有相同名称的属性和方法
- sails.js beforeCreate方法只接收required设置为true的模型属性
- SCRIPT438:对象没有't支持属性或方法'endsWith'在IE10中
- 有什么方法可以将类型指定为 self?或解决方法“属性类型不兼容”
- 打字稿 - 为什么猫鼬中不存在“方法”属性
- 从JavaScript中的另一个方法属性中引用对象方法属性
- Javascript:通过在数组上循环来创建对象方法/属性
- 冲突/方法/属性Javascript错误
- 将' this '的继承扩展到' object '的方法/属性
- Javascript继承静态和实例方法/属性
- 我可以为对象设置正则表达式吗's方法/属性选择器
- 发现HTML对象标记方法/属性
- 为什么我的主干模型奇怪地嵌套在集合中,需要钻取才能访问方法/属性?