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程序,解释一下下面两段程序的运行结果,为什么谢谢!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)