// mymodule.js
var currency = function () {
var canadianDollar = 0.91;
var roundTwoDecimals = function (amount) {
return Math.round(amount * 100) / 100;
}
this.canadianToUS = function (canadian) {
return roundTwoDecimals(canadian * canadianDollar);
}
this.USToCanadisn = function (us) {
return roundTwoDecimals(us / canadianDollar);
}
}
module.exports = currency;
// main.js
var currency = require("./mymodule");
// 50加元等于这个数量的美元:
console.log("50 Canadian dollars equals this amount of US dollars: ");
console.log(currency.canadianToUS(50));
// 30美元加元等于这个数字:
console.log("30 US dollars equals this amount of canadian dollars: ");
console.log(currency.USToCanadisn(30));
这种写法对吗?程序报错了!
还有一种写法:
// mymodule.js
exports.currency = {
canadianDollar: 0.91,
roundTwoDecimals: function (amount) {
return Math.round(amount * 100) / 100;
},
canadianToUS: function (canadian) {
return this.roundTwoDecimals(canadian * this.canadianDollar);
},
USToCanadisn: function (us) {
return this.roundTwoDecimals(us / this.canadianDollar);
}
}
// main.js
var c = require("./mymodule");
// 50加元等于这个数量的美元:
console.log("50 Canadian dollars equals this amount of US dollars: ");
console.log(c.currency.canadianToUS(50));
// 30美元加元等于这个数字:
console.log("30 US dollars equals this amount of canadian dollars: ");
console.log(c.currency.USToCanadisn(30));
它就可以正常运行了,但是object没法设置私有成员了,此外它也不是书上的例子!
找到问题了!少了个new object