Javascript,如何将两个变量组合成第三个

时间:2017-07-12 19:59:10

标签: javascript printing

我正在开展一个项目,以研究从驻留在内部SharePoint网站上的html页面向用户部署打印机的其他方法。

我发现有人发布了一些似乎运行良好的代码,但我想看看我是否可以稍微更改它以更好地满足我们的需求,从而可以更清晰地创建数百个新的打印机安装链接。

这对我们有用。

var WshNetwork = new ActiveXObject("WScript.Network"); 
var PrinterPath = "\\\\printserver-a\\printer-a"; 
WshNetwork.AddWindowsPrinterConnection(PrinterPath); //Does the adding of the printer
WshNetwork.SetDefaultPrinter(PrinterPath); //Sets printer as system default

我不想修改PrinterPath变量,而是提前定义的是PrintServer变量和Printer变量,然后将这两个变量合并到打印机路径中列出的第3个变量中。

我已经尝试了一些我见过的例子,并且已经与一位对JavaScript有更好理解的同事交谈,但找不到任何适合我的事情。 我在想这样的事情。

var PrintServer = "printserver-a";
var Printer = "printer-a";
var WshNetwork = new ActiveXObject("WScript.Network"); 
var PrinterPath = "\\\\PrintServer\\Printer"; 
WshNetwork.AddWindowsPrinterConnection(PrinterPath); //Does the adding of the printer
WshNetwork.SetDefaultPrinter(PrinterPath); //Sets printer as system default

但这不适合我,我希望看到我失踪的是什么。我对JavaScript一无所知,但发现这对我们来说是最好的解决方案之一。

4 个答案:

答案 0 :(得分:1)

union此处有效:

var PrinterPath = `\\\\${PrintServer}\\${Printer}`; 

或者,字符串连接:

var PrinterPath = "\\\\" + PrintServer + "\\" + Printer;

答案 1 :(得分:0)

您可以尝试模板文字

passport.use(new LocalStrategy(
  function(username, password, done) {
   User.getUserByUsername(username, function(err, user){
    if(err) throw err;
    if(!user){
        return done(null, false, {message: 'Unknown User'});
    }

    User.comparePassword(password, user.password, function(err, isMatch){
        if(err) throw err;
        if(isMatch){
            return done(null, user);
        } else {
            return done(null, false, {message: 'Invalid password'});
        }
    });
   });
  }));

这将评估您的变量是否为字符串 您可以阅读here

答案 2 :(得分:0)

您可以使用基本的string concatenation,也可以使用template literals。不同之处在于模板文字对JavaScript来说是新手,并且根本不支持Internet Explorer,只是现代浏览器。您可以查看compatibility table。  您必须进行的更改只是以下行。下面我列出了两种解决方案。

使用字符串连接:

var PrinterPath = "\\\\" + PrintServer + "\\" + Printer;

使用模板文字:

var PrinterPath = `\\\\${PrintServer}\\${Printer}`;

答案 3 :(得分:0)

看起来你想要将几个字符串连接在一起。这是在JavaScript中实现这一目标的一种方法:

var PrintServer = 'printserver-a';
var Printer = 'printer-a';
var PrinterPath = '\\\\' + PrintServer + '\\' + Printer; 

在现代JavaScript(又名ES6)中,您可以使用模板文字来完成您想要的任务,例如:

var PrintServer = 'printserver-a';
var Printer = 'printer-a';
var PrinterPath = `\\\\${Printer}\\${Printer}`;

请注意,PrinterPath必须使用反引号而不是单引号。

现在这里是一个未经请求的提示,因为你刚刚开始学习JavaScript:JS中的一般约定是使用非大写的变量名称(例外情况是&# 34;类"功能)。