Javascript学习(3)

JavaScript的提示框:prompt, confirm, alter

DOM 和 jQuery

使用JavaScript操作元素属性

JavaScipt逻辑控制语句

函数的学习

 

1. 创建一个 prompt

var name = prompt("What's your name?");
console.log("Hello " + name);

    prompt("..." );    // 弹出一个带输入框的对话框

    [cancel]    [ok]  // 两个按钮
    ok // 点击OK,会返回输入框中的字符串
    cancel        // 点击cancel,返回 null

这里讲到一个coercion 的概念,就是按照需要暗地里强制类型转换。点击cancel,会返回null,这个null本来是个特殊类型,不是字符串,但在字符串相加时,强制把它转成了字符串。
    null -> "null"   
2. 创建一个 confirm

var likesCats = confirm("Do you like cats?");
if (likesCats) {
    console.log("You're a cool cat!");
}
else {
    console.log("Yeah, that's fine. You're still cool!");
}

点击 ok , 返回true
点击 cancel, 返回false

这些弹框的代码,也是可以直接在Chrome Console中运行的。


3. 使用 alert: alert("JavaScript is awesome!");

DOM - Document Object Model, HTML 文档的结构

2. 选择DOM元素

用id来标识一个元素

<h1 id="main-heading">Hello world!</h1>

用getElementById( ) 选择一个元素

var headingElement =document.getElementById("main-heading");
headingElement.innerHTML;
headingElement.innerHTML="xx";
3. 使用js修改HTML的内容

<h1 id="main-heading">Hello world!</h1>
 
<script>
    var headingElement = document.getElementById("main-heading");
    console.log(headingElement.innerHTML);
    var newHeadingText = prompt("Please provide a new heading:");
    headingElement.innerHTML = newHeadingText;
</script>
4. jQuery- 是一个js库。提供了一堆函数,可以方便的操作DOM。
5. 在HTML页面中加载 jQuery

<script src="https://code.jquery.com/jquery-2.1.0.js"></script>
6. 使用jQuery 修改HTML中的内容

<body>
<h1 id="main-heading">Hello world!</h1>
<script src="https://code.jquery.com/jquery-2.1.0.js"></script>
<script>
    var newHeadingText = prompt("Please provide a new heading:");
    $("#main-heading").text(newHeadingText);
</script>
</body>

仔细看这一行: $("#main-heading").text(newHeadingText);

   "#main-heading" // selector 

   $        // 这是个 function, 相当于 getElementById( ) 或者 getElementByClass( ) 或者 getElementByTag( )

   $("#xx")      // getElementById

   $(".xx")       // getElementByClass

   $("xx")        // getElementByTag, i.e, $("body")

   selector 的规则和 CSS 相同。

7. 使用jQuery创建一个元素

<body>
<h1 id="main-heading">Hello world!</h1>
<script src="https://code.jquery.com/jquery-2.1.0.js"></script>
<script>
    $("body").append("<p>This is a new paragraph</p>");
</script>
</body>

加个循环,创建多个元素
for (var i = 0; i < 3; i++) {
    var hobby = prompt("Tell me one of your hobbies!");
    $("body").append("<p>" + hobby + "</p>");
}

8. 使用jQuery 的动画
$("h1").fadeOut(1000);
9. 连成一串的动画

$("h1").text("This will fade out").fadeOut(3000);
$("h1").fadeOut(3000).fadeIn(2000);
$("h1").slideUp(1000).slideDown(1000);
10. 这两种写法的区别

第一种写法:
$("h1").fadeOut(1000);
$("h1").fadeIn(1000);    
第二种写法:
$("h1").fadeOut(1000).fadeIn(1000);    
额哦,显示效果差别挺大哈。Animation都是异步函数,第一种写法,fadeOut 还没执行完,fadeIn就开始了。 第二种写法,会等fadeOut动画完成,fadeIn才会开始。
11. 试一试其它函数

$("h1").show();

$("h1").hide();

$("h1").fadeTo(2000, 0.5);

$("h1").slideUp(300).delay(800).fadeIn(400);

12. jQuery 的文档

https://api.jquery.com

 

JavaScript操作元素属性:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>document操作元素属性</title>
        <script type="text/javascript">
            //获取元素属性内容
            function test(){
                //获取元素对象
                var aaa = document.getElementById("123");
                //获取元素属性
                alert(aaa.type+":"+aaa.name+":"+aaa.value);

            }
            //修改元素属性内容
            function test2(){
                //获取元素对象
                var bbb = document.getElementById("123");
                bbb.type = "button";
                bbb.value = "李四";
            }
        </script>
    </head>
    <body>
        <h3>js操作元素属性</h3><br />
        <input type="button" id="" name="" value="测试获取元素属性" οnclick="test()" />
        <input type="button" id="" name="" value="测试修改元素属性" οnclick="test2()" />
        <hr />
        <input type="text" id="123" name="uname" value="张三" />
    </body>
</html>

点击修改元素属性后:

 

 

JavaScript的逻辑控制语句:

<html>
    <head>
        <title>逻辑控制语句</title>
        <meta charset="UTF-8"/>
        <!--
            逻辑控制语句学习:
                判断语句:
                    if(){}
                    if(){}else(){}
                    if(){}else if(){}else if(){}...else{}

                选择语句:
                    switch(条件){
                        case "":
                            代码
                            break;
                        case "":
                            代码
                            break;
                            .....
                        default:
                            代码; 
                    }

                循环语句:
                    for循环
                    while(条件){执行代码}
                    do{执行代码}while(条件)

                    注意:在声明循环条件的时候,使用关键字var
        -->
        <script type="text/javascript">
            var a=89;
            /*判断语句使用*/
            if(a>90){
                alert("奖励鸡蛋一枚");
            }else if(a>80&&a<=90){
                alert("奖励蛋黄派一个");
            }else{
                alert("男女混合双打");
            }
            /*选择语句*/
            var a="1";
            switch (a){
                case "1":
                    alert("哈哈,中国有雾霾");
                    break;
                default:
                    break;
            }
            /*循环语句*/
                //九九乘法表
                for(var i=1;i<=9;i++){
                    for(var j=1;j<=i;j++){
                        window.document.write(i+"*"+j+"="+i*j+"&nbsp;&nbsp;&nbsp;&nbsp;");  
                    }
                    window.document.write("<br />");
                }           
        </script>
    </head>
    <body>
        <h3>逻辑控制语句</h3>
        <hr />  
    </body>
</html>

 

<html>
    <head>
        <title>js的函数学习</title>
        <meta charset="UTF-8"/>
        <!--
            js的函数学习:
                1、函数的声明
                    函数声明一:
                        function 函数名(形参1,形参2...){执行体}
                    函数声明二:
                        var 变量名=new Function("形参1","形参2",...,"执行体");
                        从这种声明方式可以看出,在js中函数也是对象。
                    函数声明三:
                        var  变量名=function(a,b){执行体}     
                2、函数的参数
                    在js中实参的传递个数可以和形参个数不匹配,不会报错.但是会按照形参的顺序赋值。

                    局部变量:在函数内部和形参声明的变量,该函数内有效。
                    全局变量:在全局区声明的变量。
                3、函数的返回值
                4、函数作为参数传递
                5、函数的执行符
            注意:
                只有一个全局区,就是声明的js代码域。
        -->

        <script type="text/javascript">
                //函数声明一
                    function testA(a,b,c,d){
                        alert("我是函数声明一:"+a+b);
                    }
                //函数声明二   在js中函数也是对象。
                var testB=new Function("a","b","alert('我是函数声明二')");
                //函数声明三
                var  testC=function(a,b){
                            alert("我是函数声明三");
                            }
            //函数的参数
                    testA(1,2,3);
                    testA(1);
            //函数的返回值
            //函数作为参数传递
            //函数的执行符

        </script>
    </head>
    <body>
        <h3>js的函数学习</h3>
        <hr />
    </body>
</html>

testAA(1),的结果是:

 

JavaScript函数的学习(2):

<html>
    <head>
        <title>js的函数学习2</title>
        <meta charset="UTF-8"/>
        <!--
                1、函数的返回值
                    在js中如果有返回值则直接返回,没有默认返回undefined;
                2、函数作为对象传递
                    因为函数在js中也是对象,而对象是可以作为实参进行传递的。
                    所以在js中函数也可以作为参数传递

                    注意:
                        如果在接受函数对象参数的方法里没有使用执行符,则函数作为对象使用
                        如果使用了执行符,则函数对象参数作为函数执行。
                3、函数的执行符
                    函数的执行符为():函数名();

        -->
        <script type="text/javascript">
            //1、函数的返回值
                //声明函数
                function testA(a,b){
                    alert(a+b);
                    return 66;
                }

                function testB(x,y,z){
                    alert(testA(x,y));
                }

                function testC(m,n,p){
                    alert(testB(m,n,p));
                }
                //在js中如果有返回值则直接返回,没有默认返回undefined;
                //testC(1,2,3);//3-->66-->undefined
            //2、函数作为对象传递
                function methodA(a){
                    alert(a);
                }

                var methodB=function(){
                    alert("我是MethodB");
                    return 66;
                }

                /*methodA("哈哈");
                methodA(methodB);*/

            //3、函数的执行符   在js中如果不加执行符函数作为对象使用,加上执行符会当初函数执行。执行符是()
                /*alert(methodB);
                alert(methodB());*/
            //二合一
                function methodC(a){
                    alert(a());
                }
                //methodC(methodB);     
                methodC(function(){
                    alert("我是MethodB");
                    return 66;
                })

        </script>
    </head>
    <body>
        <h3>js的函数学习2</h3>
        <hr />
    </body>
</html>

 

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值