标签: jscript

在JavaScript中,当完成通过新ActiveXObject创建的对象时,是否需要将其设置为null?

在WSH中运行并创建对象的Javascript程序中,假设是Scripting.FileSystemObject或任意COM对象,我在完成它时是否需要将变量设置为null?例如,我建议这样做:

var fso = new ActiveXObject("Scripting.FileSystemObject");
var fileStream = fso.openTextFile(filename);
fso = null;  // recommended?  necessary? 
... use fileStream here ...
fileStream.Close();
fileStream = null;  // recommended? necessary?
Run Code Online (Sandbox Code Playgroud)

效果不同于让变量超出范围吗?

javascript wsh activexobject jscript

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

是否有运行Javascript的本地运行时环境?(比如JScript的Windows Scripting Host)

我想知道是否有一个"本地运行时环境"用于托管Javascript代码,这不是基于浏览器的,用于运行小型本地应用程序?类似于WSH(Windows Scripting Host)的JavaScript(不是MS-JScript).

我想在本地运行一些javascript脚本,就像我可能用于VBScript(VBS)一样,可能会出现以下情况:

  1. 访问本地文件(可能通过FSO对象)
  2. 简单的控制台读/写
  3. 最新版本的Javascript
  4. 某种形式的简单调试

或者,如何考虑仅在"本地"模式下运行浏览器?即:启动,运行代码,退出,也许使用命令行开关/选项,没有太多的开销?如果是这样,哪个浏览器?火狐?有可能以某种方式"提取"JS运行时引擎/ DLL并调用它吗?

那么,简而言之,像WSH这样的东西只适用于javascript?

谢谢.

javascript vbscript wsh jscript

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

使用WScript.shell编写文件

如何使用WScript编写文本文件我真的很新,这就是为什么我不能提供一些细节.我想写可以保存在c日志文件://用户/用户/应用程序数据/本地

我的示例代码,使用FileSystemObject

function WriteFile() 
{
   var fso  = new ActiveXObject("Scripting.FileSystemObject"); 
   var fh = fso.CreateTextFile("d:\\Test.txt", true); 
   fh.WriteLine("Some text goes here..."); 
   fh.Close(); 
}

<body onload = "WriteFile();">
</body>
Run Code Online (Sandbox Code Playgroud)

它确实在d中返回:但在本地c:它不会.

javascript scripting windows-shell jscript

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

将javascript转换为exe,尚未声明WScript

我有一个javascript我想编译成一个exe.

我正在使用jsc.exe这样做.但是,我在尝试编译时收到以下错误.

error JS1135: Variable 'WScript' has not been declared
Run Code Online (Sandbox Code Playgroud)

这是代码段:

var omgShell = WScript.CreateObject( "WScript.Shell" );
Run Code Online (Sandbox Code Playgroud)

这里有什么问题?

谢谢

javascript windows jscript

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

在JavaScript/ActionScript中重新定义Math.constructor是否有任何实际用途?

Math对象没有prototype属性,但具有构造函数属性.有没有重新定义构造函数有用的情况?

javascript constructor actionscript ecmascript-5 jscript

3
推荐指数
2
解决办法
1785
查看次数

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
查看次数

TestComplete对象 - 枚举属性

对于屏幕上的进程,窗口和控件的TestComplete对象 - 有没有一种方法可以枚举和打印出所有属性.我尝试了以下代码,我得到一个运行时异常: -

var deskObj = Sys.Desktop; //TC Desktop Object
var normObj = {a:1, b:2, c:3}; //Normal JScript Object

for (var prop in normObj) 
{
    Log.Message(normObj[prop]); //1, 2, 3 
}

for (var prop in deskObj) //Runtime error - Object doesn't support this action
{
    Log.Message(deskObj[prop]); 
}
Run Code Online (Sandbox Code Playgroud)

这让我相信TC Objects不是JScript对象 - 所以有没有办法将它们转换为JScript对象.

testcomplete jscript

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

需要在JavaScript中生成素数

我正在编写一个JavaScript来生成从2到100的素数.但它不起作用,无法弄明白.

你能帮我吗?

var array = new Array(100);

for (var i=2 ; i<=array.length-1; i++) {
    if((i%2===0) || (i%3===0))
        continue;
    document.writeln(i+",");
}
Run Code Online (Sandbox Code Playgroud)

我修改了我的答案,但现在它没有打印2和3; 我怎样才能包括2&3 ...结果是:

5, 7, 11, 13, 17, 19, 23, 25, 29, 31, 35, 37, 41, 43, 47, 49, 53, 55, 59, 61, 65, 67, 71, 73, 77, 79, 83, 85, 89, 91, 95, 97

javascript jscript

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

EA脚本无效

我已经在EA中广泛使用脚本编写了几年.今天早上,我进入EA开始构建一个新脚本,脚本不再起作用.我尝试编写'Hello World',甚至编写了一个语法错误的脚本.它不会检测错误,也不会运行脚本.

我见过的唯一线索就是当我尝试使用控制台手动驱动脚本时.当我打开一个控制台时,它会立即关闭(对于所有脚本语言).

有关如何获取脚本的任何想法?

enterprise-architect jscript

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