JavaScript功能相同,不同的实现决定了runtme
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JavaScript功能相同,不同的实现决定了runtme,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1503字,纯文字阅读大概需要3分钟。
内容图文
在运行时更改JavaScript实现的最佳方法是什么?
我有一个Web应用程序,它通过SignalR连接到服务器.
如果在运行时使用SignalR连接到服务器有任何问题,我想更改服务功能实现以使用常规XHR.
我有一个带有以下功能的js文件通过SignalR连接:
function initializeConnection() {
// Initialize connection using SignalR
}
function sendEcho() {
// Sending echo message using signalR
}
另一个具有相同功能的js文件通过XHR进行连接:
function initializeConnection() {
// Initialize connection using XHR
}
function sendEcho() {
// Sending echo message using XHR
}
我知道不可能同时加载它们.
我知道我可以在每个函数中使用一个带有切换的文件.
我想也许我可以通过加载和放大来切换这些文件.在运行时卸载它们.这可能吗?如果是这样,这是解决此类问题的最佳方式吗?
在运行时提供不同实现的最佳方法是什么?
解决方法:
一种方法是将两个实现定义为具有相同签名的对象,并将命名空间设置为变量:
;var MyStuff = {
//SignalR
SignalR: {
initializeConnection: function(){console.log('SignalR.initializeConnection()')},
sendEcho: function(){console.log('SignalR.sendEcho()')}
},
//XHR
XHR: {
initializeConnection: function(){console.log('XHR.initializeConnection()')},
sendEcho: function(){console.log('XHR.sendEcho()')}
}
};
//Do whatever check you want to
var mNamespace = (1 === 2) ? MyStuff.SignalR : MyStuff.XHR;
//Call the instance
mNamespace.initializeConnection();
您还可以将它们分成两个文件,并将它们动态添加到MyStuff:
//File 1
;var MyStuff = (MyStuff === undefined) ? {} : MyStuff;
MyStuff.SignalR = {..};
//File 2
;var MyStuff = (MyStuff === undefined) ? {} : MyStuff;
MyStuff.XHR = {..};
内容总结
以上是互联网集市为您收集整理的JavaScript功能相同,不同的实现决定了runtme全部内容,希望文章能够帮你解决JavaScript功能相同,不同的实现决定了runtme所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。