0

我在看这个:哪些字符对 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 中使用是否安全?

4

0 回答 0