在JavaScript中,"this"运算符可以在不同的场景下引用不同的东西.
通常在JavaScript"对象"内的方法中,它引用当前对象.
但是当用作回调时,它将成为对调用对象的引用.
我发现这会导致代码出现问题,因为如果你在JavaScript"对象"中使用一个方法作为回调函数,你无法判断"this"是指当前的"对象"还是"this"是指调用对象.
有人可以澄清如何解决这个问题的用法和最佳实践吗?
function TestObject() {
TestObject.prototype.firstMethod = function(){
this.callback();
YAHOO.util.Connect.asyncRequest(method, uri, callBack);
}
TestObject.prototype.callBack = function(o){
// do something with "this"
//when method is called directly, "this" resolves to the current object
//when invoked by the asyncRequest callback, "this" is not the current object
//what design patterns can make this consistent?
this.secondMethod();
}
TestObject.prototype.secondMethod = function() {
alert('test');
}
}
Run Code Online (Sandbox Code Playgroud) 我目前正在编写一个基于iCalendar标准的调度应用程序.有谁知道我可以在哪个属性存储活动创建者的信息?通过浏览iCalendar RFC 2445,我找到了这个属性:Organizer.我可以将活动创建者的信息存储在酒店中,即使他/她是参与活动的唯一人员吗?或者已经有一个字段来存储事件创建者的信息???!
Java是我选择的编程语言之一.尽管将我的应用程序分发给最终用户,但我总是遇到这个问题.
为用户提供JAR并不总是像我希望的那样友好,并且使用Java WebStart要求我维护一个Web服务器.
分发Java应用程序的最佳方法是什么?如果Java应用程序需要将工件安装到用户的计算机,该怎么办?那里有没有好的Java安装/包装系统?
我从来没有真正理解为什么Web服务实现者会选择一个而不是另一个.XML-RPC通常在旧系统中找到吗?任何帮助理解这一点将不胜感激.
我们的团队正在建立夜间和持续的集成构建.我们拥有Team Foundation Server,可以使用Team Foundation Build.我对CC.Net更熟悉并且倾向于这种方式,但管理层看到了花在TFS上的所有资金,并希望使用它.
我更喜欢CC.Net的一些事情是通知的灵活性以及实现自定义脚本的简易性.
如果您有这两种产品的经验,您更喜欢哪种产品?为什么?
cruisecontrol.net build-automation tfs continuous-integration build
调用时CoInitializeEx,您可以为以下值指定以下值dwCoInit:
typedef enum tagCOINIT {
COINIT_MULTITHREADED = 0x0,
COINIT_APARTMENTTHREADED = 0x2,
COINIT_DISABLE_OLE1DDE = 0x4,
COINIT_SPEED_OVER_MEMORY = 0x8,
} COINIT;
Run Code Online (Sandbox Code Playgroud)
具有暗示性的"速度超过记忆"价值的作用是什么?这些天在COM中被忽略了吗?
这有点类似于这个问题.
但是,我不想一直隐藏列,而只是想隐藏List.aspx页面上的列.
我的具体示例是,长(或至少nvarchar(MAX))字段会自动从List.aspx页面隐藏,但在Edit.aspx页面上仍然可见.
我想为其他(较短)列复制此行为.
这可能吗?
我得到了创建业务对象或实体来表示类似Person的概念.然后我可以使用DTO序列化Person并将其发送给客户端.如果客户端更改了对象,它可以在那里有一个IsDirty标志,所以当它被发送回服务器时,我知道要更新它.
但是如果我有一个Order对象呢?这有主页头信息,客户,供应商,所需日期等.然后它有OrderItems,它是一个List <OrderItem>,是要订购的项目.我希望能够在我的UI上使用此业务对象.所以我有一些文本框连接到位置,供应商,所需日期等,并且网格连接到OrderItems.由于OrderItems是一个List,我可以轻松地添加和删除记录.但是我该如何跟踪这个,特别是删除的项目.我不希望删除的项目在我的网格中可见,如果我使用foreach,我不应该迭代它们,因为它们已被删除.但是我仍然需要跟踪删除的事实.如何跟踪更改.我想我需要使用一个单位的工作?但随后代码似乎变得相当复杂.那么我想知道为什么不简单地使用DataTables并免费获得更改跟踪?但后来我读到了业务对象是如何实现的.
我在简单的Person示例中找到了各种示例,bnut不是像Orders这样的标题详细示例.
BTW使用C#3.5.
我似乎找不到很多关于X-Sendfile或PHP示例代码的文档(有一些rails代码).
以前有人用过它,会介意快速提供代码片段和简要说明吗?