超详细JavaScript基础 二 函数与流程

 l一.认识流程

在javascript中,根据代码执行的方向和功能的不同,流程又可以分为下面三大类。

顺序结构 选择结构 循环结构

1.顺序结构

在javascript中,代码在执行过程中。默认是由上而下的顺序结构,先写先执行,后写覆盖原来代码。

 2.选择结构

根据条件的真/假,决定执行对应的语句,这种方式称之为选择结构,按条件的数量不同,分为下列三种。

if语句         if else语句         if else if语句          switch语句

2.1 if语句

定义:当条件成立时,则执行对应的语句块。

格式

注意: {}可以省略,一旦省略,if语句只控制其后的第一行代码。

除不为零值外,其他的值都为假,左侧条件的值全为假值false。

 2.2 if else语句

定义:当条件成立时,则执行对应的语句块,不成立时,执行else中的语句块内容,因此,它有两种选择。

格式

 三目运算也可以实现此功能:a>b?console,log(a):console.log(b);

2.3 if else if 语句

定义:检测多个条件中,哪个条件是否成立,如果成立,则执行对应的代码块语句,否则,依次向下检测,并到最后结束。

格式

 2.4 switch语句

定义:它与if else if 语句的功能是一样的,可以根据多种条件,执行多条语句,仅是书写格式上的差别。

格式

流程: 

 2.循环结构

它的功能是解决重复执行的动作,针对重复的内容,程序相应的描述,而这种描述就是循环,循环分为下面两类:

while 语句        for 语句

2.1 while语句

 2.2 for语句

 循环控制:

二.函数   

它可以封装一段待执行的代码,避免页面载入时执行该代码,用于事件的绑定执行和直接调用。

格式

 注意:函数命名名称必须满足变量命名要求

2.1调用函数

 在调用函数时,可以传递的值称为参数,参数在函数定义时以变量的形式使用,多个参数通过 逗号隔开。

格式:

 2.2 调用函数--有返回值

在调用函数,如果有返回值,则在函数体中调用return语句,在执行时,函数停止执行,直接返回值。

格式:

 

 2.3匿名函数

省略函数名的函数,当一个函数没有名称 且它所执行的代码块被括号包围时,这样的函数为匿名函数。

格式

执行代码如下: 

匿名函数在执行时,也可以通过括号向函数体传递实参。

三.作用域

JavaScript中作用域分为全局作用域和函数作用域,以函数的{}作为划分作用域的依据,分为全局和局部。

3.1全局变量和局部变量

 3.2访问原则:

 四.获取DOM元素值

4.1 获取多个DOM元素值

根据标签名获取元素节点列表

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>操作元素内容</title>
</head>
<body>
    <ul>
        <li>item1</li>
        <li>item2</li>
        <li>item3</li>
    </ul>
    <script>
        var items = document.getElementsByTagName('li');
        console.log(items);
       for(var i = 0; i < items.length; i++){
           console.log(items[i]);
       }
    </script>
</body>
</html>

 根据class属性获取元素节点列表

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>操作元素内容</title>
</head>
<body>
    <ul>
        <li class='item'>item1</li>
        <li>item2</li>
        <li class='item'>item3</li>
    </ul>
    <script>
        var citems = document.getElementsByClassName('item')
       for(var i = 0; i < citems.length; i++){
           console.log(citems[i]);
       }
    </script>
</body>
</html>

  

 五 操作DOM属性

5.1 元素节点对象提供了以下属性来操作元素内容

 案例:获取DOM元素的值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title> 案例:获取DOM元素的值</title>
</head>
<body>
    <input type="text" id="key">
    <div id="normal"></div>
    <div id="bold" style="font-weight: bold"></div>
    <script>
        // 1.查找元素
        var key = document.getElementById('key');
        var normal = document.getElementById('normal');
        var bold = document.getElementById('bold');

        // 2.绑定事件
        // 文本框值发生改变时触发
        key.onchange = function(){
            console.log(key.value);
            normal.innerText = key.value;
            bold.innerText = key.value;
        }
    </script>
</body>
</html>

效果如下:

5.2 通过javascript代码也可以添加、访问和删除DOM元素

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .div1{
            font-size: 40px;
        }
        .red{
            color:red
        }
    </style>
</head>
<body>
    <div id='title' class='div1'>
        测试用文字
    </div>
    <script>
        var title = document.getElementById('title');
        console.log(title.getAttribute('class'));
        title.setAttribute('class', 'div1 red')
    </script>
</body>
</html>

效果如下: 

 案例:操作DOM元素属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>按下按钮 复制图片</title>
</head>
<body>
    <img src="图片路径" alt="">
    <img src="" alt="">
    <button id="btn">转变</button>
    <script>
        // 1.获取页面元素
        var imgs = document.getElementsByTagName('img');
        var btn = document.getElementById('btn');
        // 2.当按钮被点击时
        //      当找到第一张图片的路径 将这个路径赋值给第二张图片的src属性
        btn.onclick = function(){
            var url = img[0].getAttribute('src');
            imgs[1].setAttribute('src',url);
        }
    </script>
</body>
</html>

// getAttribute()   对象.属性

// setAttribute()   对象.属性 = 值

// removeAttribute()    对象.属性 = ""

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值