【发布时间】:2013-03-15 17:17:46
【问题描述】:
我的代码 -
<script type="application/javascript">
var firstObject = {
sayHello : function(){
document.write("My name is "+ this.myName +"<br>");
},
myName : "Swapnesh Sinha"
};
var secondObject = {myName : "Sanjay Sinha"};
document.write("First one " + firstObject.sayHello() );
document.write("<br>");
document.write("Second one "+ secondObject.myName);
</script>
来源 - http://learn.jquery.com/javascript-101/this-keyword/
期待输出 -
First one Swapnesh Sinha
Second one Sanjay Sinha
意外的输出(从我的感觉)-
My name is Swapnesh Sinha
First one undefined
Second one Sanjay Sinha
让我知道为什么它返回undefined 但是源提到返回名称?或者我这边弄错了什么
【问题讨论】:
-
你的 sayHello 函数不返回任何东西,它只是执行一个
document.write(),因此默认返回undefined -
在 sayHello 函数中用 return 替换 document.write()
标签: javascript oop dom object this