我正在使用Javascript对象文字,但是我无法连接字符串属性。

var cart  = {
baseURL   : "http://www.domain.com/",
addURL    : this.baseURL + "cart/add",
deleteURL : this.baseURL + "cart/delete",
totalURL  : this.baseURL + "cart/total",
// functions
}// cart


我得到一个链接,为http://www.domain.com/undefinedcart/add

请任何帮助,
提前致谢

最佳答案

您无法以这种方式访问​​baseURL。那是因为this实际上是window,并且可能没有属性baseURL

您可以使用立即调用的函数表达式(IIFE)和闭包代替:

var cart = function () {
   var baseURL = "http://www.domain.com/";
   return {
      addURL    : baseURL + "cart/add",
      deleteURL : baseURL + "cart/delete",
      totalURL  : baseURL + "cart/total"
   };
}();

关于javascript - 对象文字连接字符串属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14343399/

10-10 09:31