Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript document.cookie或window.location分配的行为从何而来?_Javascript - Fatal编程技术网

Javascript document.cookie或window.location分配的行为从何而来?

Javascript document.cookie或window.location分配的行为从何而来?,javascript,Javascript,document.cookie或window.location是覆盖其=运算符的对象,因此当您尝试更改它们时,会发生与常规赋值不同的情况。 document.cookie更令人惊讶,因为typeof document.cookie==“string” 它是一些非常特定的javascript对象的内置功能,还是可以用任何类型的对象复制?在javascript中,是一种对象属性(如document.cookie或window.location)可以定义为在读取或写入属性值时自动调用getter或se

document.cookie
window.location
是覆盖其
=
运算符的对象,因此当您尝试更改它们时,会发生与常规赋值不同的情况。
document.cookie
更令人惊讶,因为
typeof document.cookie==“string”


它是一些非常特定的javascript对象的内置功能,还是可以用任何类型的对象复制?

在javascript中,是一种对象属性(如
document.cookie
window.location
)可以定义为在读取或写入属性值时自动调用getter或setter函数。属性也可以标记为可写或不可写。浏览器使用此功能来实现您看到的行为


截至,您可以使用
Object.defineProperty
函数以这种方式定义自己的属性。可以找到有关如何使用此功能的详细信息和示例。例如,当一个值被分配给一个对象的属性时,您可以使用此功能调用一些复杂的操作。

有趣!我从未意识到
typeof
将返回
getter
的结果类型,而不是对象的类型。