将chr添加到编号Prototype中
adding chr to the number Prototype
我有以下功能:
var chr = function(X) {
return String.fromCharCode(X)
}
但是我想使用I.chr()而不是chr(I)。
Q: 如何将chr()添加到数字原型中?
Number.prototype.chr = function() {
return String.fromCharCode(this);
}
var n = 33;
console.log(n.chr());
http://jsfiddle.net/CXWeV/
此外,正如Bryan所指出的,以下方法将起作用:
console.log((33).chr());
console.log(Number(33).chr());
但是,以下内容不起作用:
33.chr();
编辑:尽管,正如Gumbo所指出的,这确实是:
33..chr();
以及检查该房产是否已经存在(另一种检查方法见Erik的回答):
if (!Number.prototype.chr) {
Number.prototype.chr = function() {
return String.fromCharCode(this);
}
}
if (!Number.prototype.hasOwnProperty('chr')) {
Number.prototype.chr = function() {
return String.fromCharCode(this);
};
}
要使用此选项,数字必须位于变量中或用括号括起来。请注意,将标量转换为number对象(称为装箱)会产生开销。如果对同一个值重复进行转换,则需要先使用Number()将其显式转换为对象。
请注意,在某些情况下,简单地执行String.fromCharCode可能更容易或更清晰。
真的是正常的方式。注意将数字括在括号中(或将其存储在变量中)的重要性,因为点通常表示小数点:
Number.prototype.chr = function () {
return String.fromCharCode(this);
}
alert((97).chr()); // alerts "a"
我不确定这是否适用于所有浏览器,但我认为它适用。
交互式示例
相关文章:
- 直接在函数声明上使用function.prototype.bind
- 如何迭代Array.prototype函数
- 在jquery中生成一个自动前缀编号
- Jquery 读取编号组中选择下拉列表的数组
- JQuery幻灯片,可点击编号位置
- Object.prototype using 'this'
- AngularJS:调用函数时编号不更新
- 在不兼容的接收器上调用的方法Set.prototype.add未定义
- javascript验证编号未检测到空表单字段
- 将字符串转换为数组编号Javascript
- 为什么可以't我用Set对象调用Array.prototype.map
- ExtJS 4 Object.prototype fail
- 如何通过Prototype或jquery移除子类的父类基类
- 如何强制绘图将x轴编号显示为类别
- 复选框:使用Array.prototype.forEach调用推送选中订单,
- 带有连字符的 Jquery 表排序器编号
- 用替换或拼接替换阵列中的编号
- jsx-React组件中的格式化编号
- 将setTimeout()包装器实现为Element.prototype中的方法
- 将chr添加到编号Prototype中