我正在编写用于执行数学计算的javascript代码。
对于许多功能,我需要输入类似Math.log()
或Math.PI
或Math.sqrt()
有没有办法定义“命名空间”或其他东西,所以我可以直接访问数学中定义的所有函数,只需说log()
,PI
或sqrt()
?
答案 0 :(得分:5)
只需删除(),就可以将函数赋值给变量,然后再调用变量。
var log = Math.log;
// ...
console.log("log of 5 = " + log(5));
答案 1 :(得分:2)
执行此操作的方法是with
with (Math){
console.log(sin(4));
}
在with(Math)
块内,您可以使用数学上定义的函数,例如Math.log
Math.sin
等。
您可以找到有关它的更多信息on MDN
正如评论所指出的那样,由于名称冲突的可能性,这并不总是被认为是安全的。这些潜在的陷阱与另一种语言中的using namespace
等语句相同,只是并非所有对象都被设计为名称空间。因此,使用风险自负,或者将特定函数分配给变量,如另一个答案所示。