相关疑难解决方法(0)

JavaScript,JScript和ECMAScript之间有什么区别?

好的,所以我正在努力学习JavaScript,以便我可以编写好的,干净的客户端代码,但每当我认为我正在取得进展时,有些东西会让我陷入困境!

我想知道:

  1. JavaScript,ECMAScript和JScript有什么不同?

  2. 我应该把重点放在学习上?

  3. 如果这些是版本化的,我应该支持哪个版本?

  4. 是否有必要/读取的真正好的参考(网络/书籍等)?

  5. 我如何确保我所写的内容符合所有主流浏览器(IE,FF,Safari,Chrome,Opera等)?

  6. 最重要的......是否有核心对象(数组,数字等)的参考,所以我知道已经实现了什么以及我自己需要做什么?

谢谢.

javascript jscript

32
推荐指数
1
解决办法
2万
查看次数

VBScript,JScript,Wscript ......哦,我的

我需要为WinXP编写一些脚本来支持Big Financial Corp.的一些分析师.请帮我确定哪种类型的Windows脚本最适合我的需求.

我的需求看起来很简单(无论如何对我来说)

  1. 在WinXP Pro SP2上运行(2002版)
  2. 不需要我的用户安装任何东西(所以Powershell已经出来了.同样是Perl,Python,以及关于stackoverflow上这些类型的问题的其他常见建议)
  3. 用非编译语言编写(因此用户将来有机会修改它们)
  4. 合理完整的语言功能(特别是日期/时间操作功能.我想也有现象概念,如子程序,递归等)
  5. 启动和控制其他程序的能力(在命令行)

从我对我的选择的匆忙审查,看起来我的选择

  1. VBScript中
  2. WScript的
  3. JScript中

我没有时间学习或深入研究这些(或者其他任何可用的标准WinXP安装).我迫切需要尽快选择和破解一些东西.

(目前的危机是需要运行给定的应用程序,传递几个日期参数).

一旦目前的危机结束,就会有更多这样的要求.

帮助我Obi Wan Stackoverflow ...你是我唯一的希望.

[edit]我目前的技能包括Perl,Javascript和Java,所以我最喜欢使用类似的东西

[编辑]好的.我将尝试在JScript中编写WSH文件.谢谢大家......一旦事情在这里安定下来,我会让你知道它是怎么回事(并想出一个接受答案).

[编辑]最终都解决了.感谢快速响应的人们.这是我给用户的内容

<job id="main">
    <script language="JScript">
// ----- Do not change anything above this line ----- //

var template = "c:\\path\\to\\program -##PARAM## --start ##date1## --end ##date2## --output F:\\path\\to\\whereever\\ouput_file_##date1##.mdb";

// Handle dates
// first, figure out what they should be
dt = new Date();
var date1 = stringFromDate(dt, 1);
var date2 = stringFromDate(dt, 2);

// then insert …
Run Code Online (Sandbox Code Playgroud)

windows vbscript scripting batch-file jscript

5
推荐指数
1
解决办法
1万
查看次数

在HTA中从JScript运行批处理文件

我正在用JScript创建这个HTA应用程序,它写入一个BAT文件并在cmd之后打开它.

如果我从Windows手动打开创建的BAT文件,它应该像它应该的那样工作.
当我通过HTA打开它时,文件打开但只输出Echo并暂停.

请记住,我在编程时非常新.

这是JScript.

// Write the Bat file
// When run from HTA all I get is the "Echo Done" and "Pause"
// When I run from Windows without HTA, all of it works.
function writeBat() {
var fso = new ActiveXObject("Scripting.FileSystemObject");
var s = fso.CreateTextFile("C:/test/test.bat");
    s.WriteLine('@echo off');
    s.WriteLine('set output=C:/test/new/');
    s.WriteLine('FOR %%a in (*.mkv) DO ("C:/Program Files/MKVToolNix/mkvmerge.exe" -o "%output%%%~na.mkv" "%%a")');
    s.WriteLine('echo Done.');
    s.WriteLine('pause');
    s.Close(); }

// Run the Bat file.
function runBat() {
var MyObject = …
Run Code Online (Sandbox Code Playgroud)

html batch-file hta jscript

5
推荐指数
1
解决办法
757
查看次数

Windows脚本宿主使用的JavaScript版本

多年来,我一直在Windows脚本中的.JS文件和.WSF文件中使用JavaScript,但是我发现,当我将某些方法放到在网页外部执行的脚本中时,无法识别某些方法。在网页上的脚本中有效的代码。我知道不同的浏览器支持不同的JavaScript版本,MSDN的页面描述了Internet Explorer和Edge浏览器版本支持哪些功能和方法:

https://docs.microsoft.com/zh-CN/scripting/javascript/reference/javascript-version-information

但是并没有说明Windows脚本支持哪些方法。

Windows脚本中支持的JavaScript版本是否取决于Windows版本,计算机上安装的Internet Explorer版本还是其他因素或因素组合?JavaScript程序中是否有一种方法可以检测正在执行哪个JavaScript版本?

windows scripting wsh jscript

5
推荐指数
1
解决办法
1591
查看次数

JScript,JavaScript和ECMA Script之间的功能区别是什么?

长问题

首先,我知道ECMA Script是标准的,而JavaScript和JScript是实现。我了解到这三个指标都有自己的规格,并且有很多引擎,解释器和实现,但是我的具体问题是:

假设为这三个实施了一个完美的解释器和引擎,那么您在一个中可以做什么而您却不能在另一个中做,或者哪​​个会与其他两个有不同的作用?

我知道这是一个广泛的问题,但是由于两种语言(JScript和JavaScript)均源于规范(ECMAScript),因此实际差异应该可以忽略不计。

同样,我不是在谈论跨浏览器的兼容性(IE8和IE9使用了不同的引擎,这些引擎对JScript的解释不同,并且标准随时间而改变),而是纯ECMA5,JavaScript(如果有正式标准,我想最接近的是W3CMDN以及JScript(显然在MSDN上维护)(参见图)。

笔记:

这不是该问题的重复版本,该问题已经过时五年了,它处理术语的定义,而不是语言的应用,或者该问题再次说明JavaScript和JScript是ECMAScript的方言,但不是进行任何功能上的区别。

这个问题是最接近的,但是我特别希望开发人员期望X和获得Y时应注意的技术陷阱。一个很好的例子就是这个问题,下面的代码:

// just normal, casual null hanging out in the sun
var nullA = null;
// query for non existing element, should get null, same behaviour also for getElementById
var nullB = document.querySelector('asdfasfdf');

// they are equal
console.log(nullA === nullB);

// false
nullA instanceof Object;

// will throw 'Object expected' error in ie8. Black magic
nullB instanceof …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-5 jscript

3
推荐指数
1
解决办法
464
查看次数

在javascript中的属性包

我正在调查我的范围之外的一些代码,这些代码是用我以前从未见过的风格编写的.我试图了解以下属性包的内部工作原理:

二传手:

props.Property(name) = val;
Run Code Online (Sandbox Code Playgroud)

消气:

val = props.Property(name);
Run Code Online (Sandbox Code Playgroud)

你需要实例化setter以便如上所述运行?

编辑:简化程度较低,此代码在框架内的BrowserWindow上成功运行(类似于手机环境).

var UI =
        {
            ready: function(oProps)
            {
                try
                {
                    if (oProps)
                    {
                        window.external.Property(UI.FrameWidth) = '1000';
                        window.external.Property(UI.FrameHeight) = '900';
                    }

                    window.external.Ready();
                }
                catch (e) { }
            }
    };
Run Code Online (Sandbox Code Playgroud)

提前致谢,

javascript properties jscript

3
推荐指数
1
解决办法
3703
查看次数