JavaScript基础01

目录

1、JS的基本使用

2、JS书写要求

3、JS获取元素的方法

4、js单击事件

5、js双击事件

6、鼠标划入划出事件

7、窗口变化

8、下拉框

 9、js修改样式

10、js修改属性

11、js数据类型


何为JavaScript

JavaScript原名liveScript是一门动态类型,弱类型基于原型的脚本语言。

JavaScript作用

页面特效、前后交互、后台开发(node)

JavaScript在哪里

script标签里、外部的js文件内

1、JS的基本使用

创建JS标签:<script></script>

<head>
    <meta charset="UTF-8">
    <title>Title</title>
<!--  如果是标准库,一般会在这里引入  -->
</head>
<body>
//src外部引用js文件
<script src="demo_js.js"></script>

//内部引用
    <script>
        console.log("hello world")
    </script>
</body>
</html>
innerText获取标签内的文字

innerHTML不仅能获取到标签内的文字,还能获取到标签

<body>
  <div>hello world</div>
  <script>
      var obj = document.getElementsByTagName('div')[0];
      obj.innerText = '你好世界';
  </script>

2、JS书写要求

  1. 严格区分大小写
  2. 每一段代码写完分号结尾
  3. 不适用关键字命名
  4. 代码缩进,保持可读性

var是js定义变量的关键字

语法:

        var 变量名(随意取) =document.获取方法(' ')[0];     

        变量名.方法=function{}( 变量名.方法() );

<p id='txt'>我是p段落</p>
<script>
    //获取元素并复制给一个变量
    var t = document.getElementById('txt');
    //innerHTML  innerText
    t.innerHTML = '<h1>我是h1标签</h1>';
</script>

3、JS获取元素的方法

  • id:document.getElementById(' ');通过id获取元素   (唯一)

  • class:document.getElementsByClassName(' ');通过class名字获取元素(获取多个需索引)

  • TagName:document.getElementsByTagName(' '); 通过标签名获取元素 (获取多个需索引)

  • name:document.getElementsByName(' '); 通过name的属性获取元素,一般用于Input (获取多个需索引)

  • Selector:document.querySelector(' '); 通过css选择器获取第一个

                        document.querySelectorAll(' '); 通过css选择器获取所有

<body>
    <div class="box" id="box1">我是第一个div</div>
    <div class="box">我是第二个div</div>
    <input type="text" name="hello" placeholder="请输入">

    <script>
        // id获取
        // var Id = document.getElementById('box1');
        // console.log(Id)
        // Id.innerText = '我是第一个盒子,你看啊,我的内容变了'

        // class获取 class取到的是全部,要改变当中的某个可以加上对应的索引
        // var c1 = document.getElementsByClassName('box');
        // console.log(c1);
        // c1.innerText = '我要通过class去改';

        // 标签名  标签名取到的是全部,要改变当中某个可以加上对应的索引
        // var Name = document.getElementsByTagName('div')[0];
        // console.log(Name)

        // name获取  name取到的是全部,要改变当中某个可以加上对应的索引
        // var myName = document.getElementsByName('hello')[0];
        // console.log(myName);

        // css选择器  querySelector取第一个    querySelectorAll取多个
        // var Select = document.querySelector('.box');
        // console.log(Select)
        // var Select = document.querySelectorAll('.box');
        // console.log(Select)
    </script>
</body>

4、js单击事件

对象.onclick = function(){ this.innerText=' 我被点击了 '};

<body>
    <div class="box"></div>
    <script>
        var oBox = document.getElementsByClassName('box')[0];
        // console.log(oBox) 打印对象是否成功,控制台查看
        oBox.onclick = function (){
            // this代表当前这个对象,oBox
            this.innerText = '好我被点击了';
        };
    </script>
</body>

5、js双击事件

对象.ondblclick = function (){ oBox.innerText = '我被双击了'};

<body>
    <div class="box"></div>

    <script>
        var oBox = document.getElementsByClassName('box')[0];
        // ondblclick 双击事件
        oBox.ondblclick = function (){
            oBox.innerText = '我被双击了';
        };
    </script>

</body>

6、鼠标划入划出事件

对象.onmouseenter = function (){ oBox.innerText = '鼠标划入; };

对象.onmouseleave = function (){ oBox.innerText = '鼠标划出'; }

<body>
    <div class="box"></div>

    <script>
        var oBox = document.getElementsByClassName('box')[0];
        // onmouseenter 鼠标划入
        oBox.onmouseenter = function (){
            oBox.innerText = '我进来啦';
        }
        // onmouseleave  鼠标划出
        oBox.onmouseleave = function (){
            oBox.innerText = '我又出去啦';
        }
    </script>
</body>

7、窗口变化

window.οnresize= function (){oBox.innerText = '窗口变化了'}  
<body>
    <div class="box"></div>

    <script>
        var oBox = document.getElementsByClassName('box')[0];
        // console.log(oBox)
        // onresize 窗口变化
        window.onresize = function (){
            console.log("我是窗口变化")
            oBox.innerText = '窗口变化了'
        }
    </script>
</body>

8、下拉框

对象..onchange = function (){ console.log("哦豁,下拉框在变化") }

<body>
    <select name="" id="">
        <option value="">广州</option>
        <option value="">深圳</option>
        <option value="">惠州</option>
        <option value="">东莞</option>
    </select>

    <script>
        var sec = document.getElementsByTagName('select')[0];
        //   onchange 下拉框
        sec.onchange = function (){
            console.log("咦,下拉框在变化")
        }
    </script>
</body>

 9、js修改样式

obj.style[变量]=变量值

对象.style.width='100px'

复合写法:对象.style.cssText = 'width:200px;height:200px;background:skyblue';

    <style>
        div{
            width: 300px;
            height: 300px;
            background-color: pink;}
    </style>
</head>
<body>
    <div id="box"></div>
    <script>
        var oBox = document.getElementById('box');
        // oBox.style.width = '100px';
        // oBox.style.height = '100px';
        // oBox.style.background = 'red';
        oBox.style.cssText = 'width:200px;height:200px;background:skyblue';

        // 修改边距
        // oBox.style['margin-left'] = '50px';
        // oBox.style.marginLeft = '100px'

        //赋值修改样式
        //var a = 'width'
        //var b = '10px'
        //oBox.style[a] = b
    </script>
</body>

10、js修改属性

标签属性分为两种:合法属性、自定义属性

<body>
/*自定义属性,当其他属性不可用时用自定义的*/
/*xy="mochuan" 自定义一个属性名为mochuan*/
/*target="_blank"新建窗口打开;obj.target = '_self'当前窗口打开*/
    <a href="https://www.baidu.com" id="myself" target="_blank" class="wrap" xy="mochuan">走你</a>

    <script>
        var obj = document.getElementById('myself');
        // obj.target = '_self';
        // console.log(obj.id)

        // 修改属性
        obj.className = 'suxing'

        // 修改自定义属性  setAttribute 有则改,无则增
        obj.setAttribute('xy','zdysuxing')

        // 添加name属性为pppp
        obj.setAttribute('name','pppp')
    </script>
</body>

11、js数据类型

<body>
<script>
    var a = 2
    var b = 5.6
    var c = [] /*数组*/
    var d = {} /*字典*/
    var e = true /*布尔值(小写)*/
    var f = null /*空值*/
    var g
    alert(typeof a)/*弹出窗口显示什么类型*/
    alert(typeof b)
    alert(typeof c)
    alert(typeof d)
    alert(typeof e)
    alert(typeof f)
    alert(typeof g)
</script>
</body>

案例:根据属性和属性值修改盒子样式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        form{
        margin:20px 10px 20px 10px;
        padding:10px;
        }
        div{
        width:200px;
        height:100px;
        border:2px solid gray
        }
    </style>
</head>
<body>
    <form action="" >

        <p>属&emsp;性:<input type="text"></p>
        属性值:<input type="text"><br>
         <input type="button" value="设置">
    </form>
    <div>小荷才露尖尖角</div>
    <script>
        //获取盒子
            var box = document.getElementsByTagName('div')[0];
            console.log(box)
        //获取所有input
            var att = document.getElementsByTagName('input');
            console.log(att)
            att[2].onclick = function (){
                var a = att[0].value;
                var val = att[1].value;
            console.log(a)
            console.log(val)
                box.style[a] = val;
            }
    </script>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值