我在看这个:哪些字符对 JavaScript 变量名有效?
我有一个想法,我无法决定这是否是个好主意......
假设您有一些对象,例如Vector (x, y, z):
Vector = (function() {
function Vector(x, y, z) {
this.x = x != null ? x : 0;
this.y = y != null ? y : 0;
this.z = z != null ? z : 0;
if (isNaN(this.x) || isNaN(this.y) || isNaN(this.z)) {
throw new Error("Vector contains a NaN");
}
}
return Vector;
})();
并且您想添加一些Vector,可能具有如下功能:
this.add = function(v) {
return new Vector(this.x + v.x, this.y + v.y, this.z + v.z);
};
将加法函数声明为this["\u002b"] = function...
(或什至只是this["+"] = function...
)并像这样使用它会很糟糕还是很棒:
var v1 = new Vector(1, 2, 3)
var v2 = new Vector(2, 3, 4)
var v3 = v1["+"](v2)
显然,对于"add",在代码大小方面没有实际收益(我认为它可能比 v1.add(v2) 更具可读性,但诸如"multiply"之类的东西会是,
var v1 = new Vector(1, 2, 3);
v1["×"](2);
或对于其他对象,例如“集成”可能是:
integrand["∫"](0, 1000)
想法?它是非常精彩,还是非常骇人听闻?跨浏览器的 unicode 字符有多可靠?在 node.js 中使用是否安全?