相关疑难解决方法(0)

你会如何在javascript中重载[]运算符

我似乎无法找到在javascript中重载[]运算符的方法.有人知道吗?

我在想......

MyClass.operator.lookup(index)
{
     return myArray[index];
}
Run Code Online (Sandbox Code Playgroud)

或者我不是在看正确的事情.

javascript operator-overloading

74
推荐指数
9
解决办法
3万
查看次数

我可以在Javascript中定义自定义运算符重载吗?

是否可以在JavaScript中的类型实例之间定义自定义运算符?

例如,假设我有自定义矢量类,是否可以使用

vect1 == vect2
Run Code Online (Sandbox Code Playgroud)

检查是否相等,而底层代码是这样的?

operator ==(a, b) {
    return a.x == b.x && a.y == b.y && a.z == b.z;
}
Run Code Online (Sandbox Code Playgroud)

(当然这是无稽之谈.)

javascript dsl equality vector operator-overloading

26
推荐指数
4
解决办法
1万
查看次数

如何在JavaScript中模拟宏?

我知道JavaScript不支持宏(Lisp风格的),但我想知道是否有人有解决方案可能模拟宏?我用谷歌搜索,其中一个解决方案建议使用eval(),但正如他所说,将是非常昂贵的.

他们并不一定非常喜欢.我只想用它们做简单的事情.它不应该使调试更加困难:)

javascript lisp browser macros

19
推荐指数
6
解决办法
2万
查看次数

Make toPrimitive转换取决于上下文

我希望一个对象在数字上下文中返回一个值,在字符串上下文中返回一个完全不同的值.以下不起作用.

foo = {
    toString: function() { return "string" },
    valueOf:  function() { return 123 }
}

console.log(foo * 2)       // got 246, fine
console.log("hi " + foo)   // got "hi 123", want "hi string"
Run Code Online (Sandbox Code Playgroud)

javascript types

8
推荐指数
1
解决办法
364
查看次数