你的位置:首页 > Java教程

[Java教程]JavaScript(js)


JavaScript中一切皆事件

<script>   这个可以写在html的任何地方

  js语句;   只能写在这里面

</script>

 BOM = Browser Object Model
           浏览器对象模型:Window表示整个浏览器窗口
           所以,js的一切对象都是window的子对象,所有的方法,都是绑定与window及其子对象的,平常使用一些事件,触发函数的时候,window可以省略
           alert():一个普通的弹窗
           confirm():弹出一个确认和取消的弹框
           prompt():带有输入框 的弹出
           每个html页面都是DOM:Document,.Object,Model:都是html对象
           有几个页面就有几个DOM对象
           document,就代表当前html对象

      setTimeout(func,n);定时器;n秒后执行fun中的程序,单位是毫秒

<!DOCTYPE HTML>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <script type="text/javascript" charset="utf-8">
        /*
           BOM = Browser Object Model
           浏览器对象模型:Window表示整个浏览器窗口
           所以,js的一切对象都是window的子对象,所有的方法,都是绑定与window及其子对象的,平常使用一些事件,触发函数的时候,window可以省略
           alert():一个普通的弹窗
           confirm():弹出一个确认和取消的弹框
           prompt():带有输入框 的弹出
           每个html页面都是DOM:Document,.Object,Model:都是html对象
           有几个页面就有几个DOM对象
           document,就代表当前html对象
           */
    var n = prompt("请输入你的性别","男");
    if(n=="男"){
        window.document.write("男人是泥巴做的");
    }else if(n=="女"){
        document.write("女人是水做的");
    }else{
        document.write("第三性是水泥做的")
    }
    </script>
</body>
</html>
----------------------------------------------------------------------

<!DOCTYPE HTML>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <script type="text/javascript" charset="utf-8">
        /**
          可变长度的参数列表
            arguments : 是指函数中的参数列表
            */
    function test(n,a){
        for(var i in arguments){
            document.write(arguments[i]+"<br />");
        };
    }
test(1,2,33,"a","b");
    </script>
</body>
</html>
---------------------------------------------------------

<!DOCTYPE HTML>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <script type="text/javascript" charset="utf-8">
        /**
          函数即是数据类型,还是个对象,本身还是个函数,最终会返回一个值,这里本质上我们用的是函数返回的那个值,不调用不执行,把值返回到函数的调用处
          java中,只要声明变量的地方都可以用类代替
          回调函数:这里结果涉及:匿名函数,和变量函数的知识推导出来,还有形参变量和实参对应的 问题
          */
    //声明了一个函数
    function ren(n1,n){//这里的两个形参可以表示任何东西,关键的问题,可以表示个函数,韩式也是个数据类型,并且js是弱类型语言,java是个强类型语言,强类型语言要求变量声明前必须指定数据类型
        //但是弱类型语言,是根据上下文来决定数据的类型,你调什么,就是什么
        return n1+n(n1);
    }
//这是函数的调用
var num = ren(10,function(a){//听说过匿名内部类.内部类是不在方法的调用 的时候,在实参位置,直接new一个对象,是匿名内部类
        //在js中,在函数调用处的实参的地方,直接声明一个函数,别忘了函数也是个对象
        //什么是回调函数:方法的参数是一个函数的时候,就叫回调函数,也就是方法的递归调用
        return a;
        });
alert(num);
    </script>
    <a href="./js_01.html"onMouseover="alert(num);window.href='./js_01.html';">点我</a>
</body>
</html>
js中,函数是数据类型,也是对象,本身还是个函数

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

<!DOCTYPE HTML>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <script type="text/javascript" charset="utf-8">
        /*BOM = Browser Object Model
          所有的一切对象都是window的子对象,所有的方法,都是绑定与window及其子对象的,平常使用一些事件触发 函数的时候,window可以省略
          alert();弹出一个普通的弹框
          confirm():弹出一个确认和取消的弹框
          prompt();带有输入框的弹出
          setTimeout(func,n);定时器;n秒后执行fun中的程序,单位是毫秒
          clerTimeout(s);清除s定时器
          */
var s = setTimeout(function(){
        alert(123);
        },3000);
function stop(){
    window.clerTimeout(s);
}
    </script>
    <button onclick="stop()">要爆炸了</button>
</body>
</html>