cha*_*ola 0 javascript assignment-operator
看看这个Javascript代码:
var myString = new String();
myString.myObject = "myObject...";
//works fine as it shows "myObject..."
console.log("myString.myObject :" + myString.myObject);
//OK myObject is also a string so it should give length and it works fine
console.log("myString.myObject.length :" + myString.myObject.length);
//it should not give anything or undefined since nothing is given to myString
console.log("myString :" + myString);
//myString is not yet defined so it should give undefined or 0..
console.log("myString.length :" + myString.length);
//lets make a simple assignment
myString = myString.myObject;
//it should just copy value of myObject to myString so there are two copies of string "myObject.."
//lets log all the data all the data as i did above
console.log("myString.myObject :" + myString.myObject);
//and this part is giving error
//console.log("myString.myObject.length :" + myString.myObject.length);
console.log("myString :" + myString);
console.log("myString.length :" + myString.length);
Run Code Online (Sandbox Code Playgroud)
在上半部分(在分配之前),它正如我预期的那样工作,但是在分配之后它会产生错误.
它似乎myString.myObject在分配后被删除.是吗?.
当我尝试访问myString.myObject控制台时出现红色错误.分配是否删除myString.myObject,或其他事情在这里发生?
当你这样做
myString = myString.myObject;
Run Code Online (Sandbox Code Playgroud)
你myString用它的myObject属性值替换整个值.因为它本身没有myObject属性,所以在myString分配后你没有属性.
这个任务后,该值myString是"myObject...".
| 归档时间: |
|
| 查看次数: |
62 次 |
| 最近记录: |