javascript可以编译成可执行文件直接运行吗还是只能嵌入html中使用

javascript可以编译成可执行文件直接运行吗还是只能嵌入html中使用,第1张

JavaScript 依赖于浏览器的运行环境。是一种解释执行的脚本语言。所以,只能以文本的形式被解释执行,不能被编译。有些运行形式,比如js hta 的执行方式看似一个独立的应用程序。其实后台也是解释执行的。

定义一个函数

var lastTimer;

function run() {

在这里执行你想要每次执行的东西。

lastTimer = setInterval(run, 80000);

}

在应用的地方,比如onLoad里面

写:

setInterval(run, 80000);

这样每次执行之后都会再次设置延迟再调用。

当然,这样就停不下来哈。最好在搞个退出的标志变量。

js里函数中的this要看这个函数是通过那个对象来调用的因为在网页中一般会省略window直接调用,所以这时的this就是window

第一段:

var name = "The Window";

var object = {

name : "My Object",

getNameFunc : function(){

return function(){

return thisname;

};

}

};

alert(objectgetNameFunc()());

objectgetNameFunc()执行时返回了函数function(){return thisname;}然后未通过任何对象直接加()调用此函数,此时函数内的this就指向window,又因为第一句定义了未加任何对象的属性name,也相当于给window定义了name属性,所以返回的就是windowname:"The Window";

第二段:

这里利用了闭包的概念,在一个函数内定义的其它函数都可以访问这个函数内定义的属性

var name = "The Window";

var object = {

name : "My Object",

getNameFunc : function(){

var that = this;

return function(){

return thatname;

};

}

};

alert(objectgetNameFunc()());

objectgetNameFunc()在执行时,是通过 object调用的,此时函数内的this指向object,所以var that=this;这句将object赋值给了that,objectgetNameFunc()执行后返回了函数function(){return thatname;}然后执行返回的这个函数时,that由于是闭包,依然是指向object的,所以返回object的name,即"My Object"

-----------------

补充

----------------

代码里 执行 documentwrite 时 。会判断是否输出结束

如果下一句还是 documentwrite ,那么就继续输出。

直至输出完成

1当documentwrite("往后执行啊!");这句和x=documentwalvalue; 没有交换时。JS代码的执行顺序是

documentwrite("往后执行啊!");

x=documentwalvalue;

//这里假设是 1 ,背单词

documentwrite("今天背单词");

那么 执行完第一个 documentwrite 后

下句是 x=documentwalvalue; 那么就认为输出结束,即输出 “往后执行啊!”

2当2句交换后

x=documentwalvalue;

documentwrite("往后执行啊!");

//这里假设是 1 ,背单词

documentwrite("今天背单词");

第一个documentwrite 后 还是 documentwrite

这个时候,就要把 所有的 documentwrite 都输出完!!

也就是说 连续的 documentwrite 是都要执行完的。 直到 不是 执行 documentwrite *** 作

3可能你会疑问,2句调换后,2个documentwrite 不是在一起的

x=documentwalvalue;

documentwrite("往后执行啊!"); //一个documentwrite在这

if(x>=1&&x<=7)

{

switch(parseInt(x))

{case 1:documentwrite("今天背单词");break; //一个documentwrite 在这

但是 2个documentwrite 之间 都不是 执行语句。。都是if ,switch这样的判断语句或者分支语句的。并没有其他 *** 作。所以不影响2个 documentwrite的连续。

--------------

documentwrite(你写的内容)

的意思就是 文档里 写入 (你写的内容)

这个时候你的网页的内容就 变成了 (你写的内容)

也就是说你的网页里原来的代码都不存在了,被 (你写的内容)所替代了

所以代码运行也被终止了

如果你想输出多个内容的话,建议 加一个DIV,然后设置 innerHTML

代码如下

<script language="javascript">

function ko(){

var x;

var o=documentgetElementById("result");

oinnerHTML+="往后执行啊!";

x=documentwalvalue;

if(x>=1&&x<=7)

{

switch(parseInt(x))

{case 1:oinnerHTML+="今天背单词";break;

case 2:oinnerHTML+="今天去海图借书";break;

case 3:oinnerHTML+="今天去学校上HTML";break;

case 4:oinnerHTML+="今天上西单买生活用品";break;

case 5:oinnerHTML+="今天去陪朋友逛街";break;

case 6:oinnerHTML+="今天去健身";break;

case 7:oinnerHTML+="今天终于可以休息了!";break;

}

}

else

alert("输入错误!");

}

</script>

<body>

<div id="result"></div>

<form name="w" method="post" action="">

<input name=al type=text size=15>

<input type="button" name=df value="请输入星期" onClick="ko()">

</form>

</body>

以上就是关于javascript可以编译成可执行文件直接运行吗还是只能嵌入html中使用全部的内容,包括:javascript可以编译成可执行文件直接运行吗还是只能嵌入html中使用、javascript 如何在网页中每隔一段时间执行一段程序呢、关于javascript程序,解释一下下面两段程序的运行结果,为什么谢谢!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10118310.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存