小编the*_*laf的帖子

在localhost上开发时,如何让IE9使用符合标准的模式?

根据MSDN,我需要强制符合标准的模式是包含HTML 5 doctype:

http://msdn.microsoft.com/en-us/library/gg699338%28v=vs.85%29.aspx

当远程提供标记时,它可以工作.问题是当我使用相同的标记并从本地运行的apache服务器提供它时.IE9默认为怪异模式,兼容性视图按钮消失.

我在本地进行了大量的开发,如果我只能在远程服务的IE中测试我的代码,它就会失败.提前致谢.

internet-explorer quirks-mode internet-explorer-9

19
推荐指数
2
解决办法
4万
查看次数

为什么这个闭包不能访问'this'关键字? - jQuery

我是闭包的初学者(以及一般的Javscript),我无法找到关于此代码中发生了什么的令人满意的解释:

function myObject(){
    this.myHello = "hello";
    this.myMethod = do_stuff;
}

function do_stuff(){
    var myThis = this;
    $.get('http://example.com', function(){
        alert(this.myHello);
        alert(myThis.myHello);
    });
}

var obj = new myObject;
obj.myMethod();
Run Code Online (Sandbox Code Playgroud)

它会提醒'undefined'然后'hello'.显然这不应该是特定于jQuery的,但这是我能想到的最原始代码的最简单形式.闭包do_stuff()可以访问该范围内的变量,但显然此规则不适用于this关键字.

问题:

发生什么this时,闭合的范围之外传递do_stuff()(在这种情况下$.get())?是否myThis包含它的副本this或引用?this在封闭中使用通常不是一个好主意吗?

任何回应都非常赞赏.

javascript jquery closures this

14
推荐指数
1
解决办法
3525
查看次数