Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/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 Do';变量';你有房子吗?_Javascript_Variables - Fatal编程技术网

Javascript Do';变量';你有房子吗?

Javascript Do';变量';你有房子吗?,javascript,variables,Javascript,Variables,变量有属性吗 显而易见的答案应该是否定的。如果我试图将属性分配给变量,它应该会给出一个错误。对吧? 如果我这样做: var someVariable = 'Cat'; someVariable.eyes = 'two'; //Gives no error! alert(someVariable.eyes); // alerts 'undefined' instead of giving an error! 变量没有属性,但它们的值有属性。(无论如何,如果该值是对象。) 在本例

变量有属性吗

显而易见的答案应该是否定的。如果我试图将属性分配给变量,它应该会给出一个错误。对吧?

如果我这样做:

 var someVariable = 'Cat';
 someVariable.eyes = 'two';   //Gives no error!

alert(someVariable.eyes);     // alerts 'undefined' instead of giving an error!
变量没有属性,但它们的值有属性。(无论如何,如果该值是对象。) 在本例中,您试图设置当前由
someVariable
引用的字符串的
eyes
属性

不过,在这种情况下,这是行不通的。由于基元值没有属性,JS将把基元字符串值转换成一个对象,并在该对象上设置属性,该属性几乎立即被悄悄地丢弃。最终结果:原语字符串保持不变。

变量没有属性,但它们的值有属性。(无论如何,如果该值是对象。) 在本例中,您试图设置当前由
someVariable
引用的字符串的
eyes
属性


不过,在这种情况下,这是行不通的。由于基元值没有属性,JS将把基元字符串值转换成一个对象,并在该对象上设置属性,该属性几乎立即被悄悄地丢弃。最终的结果是:原语字符串保持不变。

“变量”实际上不存在(除非严格在范围定义内),只有对象。默认情况下,字符串对象不能具有指定的任意属性。

“变量”实际上不存在(除非严格在范围定义内),只有对象。默认情况下,字符串对象不能指定任意属性。

someVariable.eyes
someVariable中保存字符串,那么尝试分配给字符串对象的.eyes不是吗?在
someVariable.eyes
someVariable中保存字符串,那么,这不是试图分配给字符串对象的.eyes吗?除非修改它们的原型。。除非你修改他们的原型。。