var baz = 2;
var foo = {
bar: function() {return this.baz; },
baz: 1
};
(function(){
var baz = 2;
alert(arguments[0]());
})(foo.bar);各位大大,关于this,都快晕死了
个人认为, this指的是调用this所在方法的对象,但上面这个怎么是undefined呀
var foo = {
bar: function() {return this.baz; },
baz: 1
};
(function(){
var baz = 2;
alert(arguments[0]());
})(foo.bar);各位大大,关于this,都快晕死了
个人认为, this指的是调用this所在方法的对象,但上面这个怎么是undefined呀
解决方案 »
- extjs点击生成的动态菜单并加载相应的js文件,不好解决
- 求问,简单字符串截取、
- 梅花雪树1.0传值问题
- 决断radio选中问题
- 求高手解惑 window.close()不弹出是否关闭提示,直接关闭网页的效果
- 求验证yyyy/MM/dd日期格式的正则表达式?
- Javascript截取HTML代码问题
- 请问根据下拉列表中的内容选择页面是怎么实现的啊?谢谢!
- 变量传递,谁能解决???
- 求一款开源的Java WebUI(ExtJs除外)
- button需要调用一个删除事件,但我想先出现return confirm('你确定要删除吗?');
- 奇怪的js问题,本机直接运行正常,放本机服务器目录中不能正常运行
bar: function() {return this.baz; },
baz: 1
};
(function(x){
alert(x());
})(foo.bar); 是谁调用了x
没有就是window
var foo = {
bar: function() {return this.baz; },
baz: 1
};
(function(){
alert(arguments[0]());
})(foo.bar);
怎么就是undefined?
var baz = 2;
var foo = {
bar: function() {return this.baz; },
baz: 1
};
(function(){
var baz = 3;
alert(arguments[0]);
})(foo.bar()); var baz = 2;
var foo = {
bar: function() {this.bar=4;return this.baz; },
baz: 1
};
(function(){
var baz = 3;
alert(arguments[0]());
})(foo.bar);
自己对比下就知道
ii:6,
fun:function(){
alert(this.ii);
}
} vv.fun();这样是六没有错呀。
字数补丁.exe
var baz = 2;
var foo = {
bar: function() {return this.baz; },
baz: 1
};
(function(){
var baz = 2;
alert(arguments[0]());
})(foo.bar);
其实和下面的是一样的
var baz = 2;
var fun=function(){return this.baz;}
(function(){
var baz = 2;
alert(arguments[0]());
})(fun);
所以不管this指向哪,肯定得4这样没有说明问题,这个this到底指向了哪
bar: function() {var baz = 5;return this.baz; },
baz: 1
};
怎么还是undefined,你这里的foo.bar是当对象还是类?
谢了,看到你的答案了,错了之后,猜想了一下也认为是arguments,还是你nb,上去就知道是arguments,不是window,我想大部分都认为是window,呵呵
都是js语言本身的,大家可以去看看,琢磨琢磨
http://adamlu.googlecode.com/svn/trunk/js_quiz.html
这是链接
就是让 我们明白 js中的this 不是我们想象中的 this
100['toString']['length']
这个为啥是1
var baz = 2;
var foo = {
bar: function() {return this; }, // 直接返回this
baz: 1
};
(function(){
var baz = 2;
alert(arguments[0]() === arguments); // 在这里判断返回的对象是否等于arguments 输出的是ture
})(foo.bar);
那怎么知道toString方法有一个形参
好啦,结贴喽