84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
var str="hello";var obj={ str:"world", saidstr:this.str};alert(obj.saystr); //Das Ergebnis ist hallo
Entschuldigen Sie, warum das Ergebnis „Hallo“ statt „Welt“ ist
闭关修行中......
这篇文章可以解决大部分 this 的问题。
this指向什么,由包含它的最近的一个function决定的;如果没找到function,那么this就是全局对象。你的题目中,就是后者。
this
function
稍微修改一下代码:
var str="hello"; var obj={ str:"world", saystr: function() { alert(this.str) } }; obj.saystr();
就是第一种情况了。
总结一下:确定this通常分两步走:
先找到包含this的最近的一个function;
然后看这个function被调用的方式。具体看这里。
alert(obj.saystr); 这句话实际等同于:
alert(this.str);
把题目转换成下面这样更好理解:
var str = "hello"; var obj = {}; obj.str = "world"; obj.saystr = this.str;
所以一看就明白this指向的是window全局对象,所以obj.saystr结果就是hello
这篇文章可以解决大部分 this 的问题。
this
指向什么,由包含它的最近的一个function
决定的;如果没找到
function
,那么this
就是全局对象。你的题目中,就是后者。
稍微修改一下代码:
就是第一种情况了。
总结一下:确定
this
通常分两步走:先找到包含
this
的最近的一个function
;然后看这个
function
被调用的方式。具体看这里。把题目转换成下面这样更好理解:
所以一看就明白this指向的是window全局对象,所以obj.saystr结果就是hello