这件小事你懂的!!!JScript codescript languagejavascriptvar name The Window var object {
这件小事你懂的!!!
JScript code
<script language="javascript"> var name = "The Window"; var object = { name : "My Object", getNameFunc : function(){ return function(){ return this.name; }; } }; alert(object.getNameFunc()());</script>
<script language="javascript"> var name = "The Window"; var object = { name : "My Object", getNameFunc : function(){ return this.name; } }; alert(object.getNameFunc());</script>
3和4比较好理解,容易混淆的是1和2。当作为函数来运行时this指window 当作为方法来运行时this指向当前对象。那么只有确定下函数是作为方法 来执行还是作为函数来执行问题就解决了。那么如何区分呢?根据ECMA规范: 4.3.27 method function that is the value of a property. 只有一个函数被作为一个对象的熟悉时才能被成为一个方法。因此为身边会 出现这样的运行结果也就很容易理解了 [解决办法] 只有一个函数被作为一个对象的熟悉时 这句是什么意思? [解决办法]