Javascript 如何访问或复制对象的字符串值?

Javascript 如何访问或复制对象的字符串值?,javascript,object,Javascript,Object,例如,我试图分离window.location的前5个字符 var ltype, string = 'string'; console.log(window.location); // file:///C:/for example console.log(typeof window.location); // [OBJECT] lType=window.location.substr(0,5); // 'not a function' (quite so) string

例如,我试图分离window.location的前5个字符

var ltype, string = 'string';
console.log(window.location);         // file:///C:/for example
console.log(typeof window.location);  // [OBJECT] 
lType=window.location.substr(0,5);    // 'not a function' (quite so)
string=window.location;
lType=string.substr(0,5);             // fails similarly
Q1:我是否可以将substr()以某种方式“绑定”到window.location

我可以看到
string=window.location
复制了一个引用,而不是 一个值,所以

Q2:如何创建复杂结构(如对象或数组)的单独、离散副本[而不使用
JSON.stringify()
JSON.parse()
-这正是我目前所采用的]?

试试看

string = window.location.href.toString();
而不是

string=window.location;
因为window.location将返回对象而不是字符串。

请重试

string = window.location.href.toString();
而不是

string=window.location;

因为window.location将返回对象而不是字符串。

window.location
,所以您不能在其上使用字符串函数-正如您所注意到的那样。为了获得字符串形式的实际位置(对其执行字符串操作),您需要以某种方式将其转换为字符串

  • window.location.href
    是对象本身提供的属性

  • window.location.toString()
    是所有JavaScript对象上的一个方法,在这里被重写
然而,要当心。在我看来,您正在尝试检索URI的协议(http:bit)。这也有一个属性-
window.location.protocol

lType = window.location.protocol;

您应该使用它-它更健壮(考虑
https://
或者更糟糕的是,
ftp://

窗口。位置
,因此您不能在其上使用字符串函数-正如您所注意到的。为了获得字符串形式的实际位置(对其执行字符串操作),您需要以某种方式将其转换为字符串

  • window.location.href
    是对象本身提供的属性

  • window.location.toString()
    是所有JavaScript对象上的一个方法,在这里被重写
然而,要当心。在我看来,您正在尝试检索URI的协议(http:bit)。这也有一个属性-
window.location.protocol

lType = window.location.protocol;

您应该使用它-它更健壮(考虑
https://
或者更糟糕的是,
ftp://

复制对象:获取字符串的一部分:
window.location.toString()。substr(…)
应该可以解决您的问题。非常有帮助!谢谢。现在全部排序。复制对象:获取字符串的一部分:
window.location.toString().substr(…)
应该可以解决您的问题。太多帮助了!谢谢。现在都排序好了。完全正确:我曾试图使用XUL学校著名的老“showProps”执行器列出对象的属性。由于某些原因,它在用于window.location.quity-right时没有结果:我曾尝试使用XUL学校著名的老“showProps”exec列出对象的属性。由于某些原因,它在用于window.location时没有结果。当我接受你的答案时,它似乎不接受前面的答案???我最好去看看说明书again@MattArnold
1
这是一个单独的问题(而且,)<代码>2只能有一个可接受的答案。(我的?漂亮吗?)我读了手册,看到了灯,把绿色的记号留给了你,当我接受你的答案时,它似乎不接受前面的答案???我最好去看看说明书again@MattArnold
1
这是一个单独的问题(而且,)<代码>2只能有一个可接受的答案。(我的?漂亮吗?)我读了说明书,看到了灯,把绿色的记号留给了你