初识Javascript(一)

1、Javascript介绍

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
    </style>
    <script>
        //如果script里面涉及到操作后面的元素,而又非得把script放在前面的话,需要加上:
        window.onload = function () {
            console.log("我是head里面的4");
            //这里再写代码(意思是:当整个页面加载完成之后,再执行这里的代码)
        }//一个页面中只能出现一次window.onload
    </script>
</head>
<body>
    <div></div>
    <p></p>
    <script src="index.js"></script>
    <script>
        /*
        1.JavaScript 是一种脚本语言,是一种动态类型、弱类型
        2.JavaScript通常用来操作HTML页面的
           html骨架(页面结构),css是样式(元素大小、颜色、位置、隐藏或显示等),js是行为(部分动画效果、页面与用户交互等)

       JS代码写在哪里:
           script标签里面
           写在外部.js后缀文件里面,通过script标签引入
           写在标签里面
       注意:在引入js文件的script里面,一定不能再写js代码
           标签里面写js代码一般情况下不推荐(指行内的样式)

        script标签的位置:
           head或者body里面
           要注意是否需要加上window.onload
           如果说没有什么特别的要求,一般script标签放在body结束之前
       */
        /*
      注释里面是没有要求的
      1.严格区分大小写 alert才是js本身自带的,Alert不是自带的
      2.语句字符必须是英文符号
      3.某些完整的语句后面需要分号
      4.引号里面代表字符串,所以不需要满足上面的条件
       */
        /*
        多行注释
        */
        //单行注释
        alert("调试代码");//弹窗  用来调试代码
        console.log("调试代码");//打印 用来调试代码
    </script>
</body>
</html>

2、元素获取

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        #box{
            width: 100px;
            height: 100px;
            background: #c4ff7b;
            line-height: 100px;
            text-align: center;
        }
    </style>
</head>
<body>
    <div id="box">666</div>
    <p class="box1">1</p>
    <p class="box1">2</p>
    <p class="box1">3</p>
    <p class="box1">4</p>
    <div id="wrap">
        <i class="box2">iiiii1</i>
        <p class="box3">
            <i>iiiiii2</i>
        </p>
    </div>
    <script>
        /*
       那么JS如何操作页面:
           其实,要操作页面,就是操作标签,JS要操作标签,就要先获取标签
       js获取独有标签
           document.title
           document.head
           document.body

       其他标签的获取,id前面必须是document,其他的前面可以是某个元素(id,document),但不能是集合
               通过id获取元素,
                   document.getElementById()
               通过className获取元素(不支持IE8及以下)
                   .getElementsByClassName()
               通过标签名获取元素
                   .getElementsByTagName()

               通过选择器的写法获取元素(不兼容IE7及以下)
                   .querySelector()
                   .querySelectorAll()
               通过name值获取
                    document.getElementsByName()
        */
        document.title = "666";
        // 修改别的标签的内容,得用innerHTML(会解析标签),innerText(不会解析标签)
        document.body.innerHTML = "888";

        // 获取的是确切的某个元素,可以直接操作这个元素
        var oBox = document.getElementById("box");
        console.log(oBox);
         oBox.innerHTML += "888";
         oBox.innerHTML = "<h1>888</h1>";
        oBox.innerText = "<h1>888</h1>"

        // 获取的是很多元素的集合,设置操作的时候要通过下标(索引、序号)拿到对应的某一个
        var aP = document.getElementsByClassName("box1");
        aP[0].innerHTML = "666";
        console.log(aP.length);

        var aP = document.getElementsByTagName("p");
        aP[0].innerHTML = "666";

        // 获取第一个对应的元素
        var oI = document.querySelector("#wrap i");
        oI.innerHTML += "888";

        var oI = document.querySelectorAll("#wrap i");
        console.log(oI.length);
        oI[0].innerHTML += "999";
         /*
        定义变量规则:
            1.不能使用关键字或者保留字,(js里面已经赋予他有意义的词,或者留着备用的词)
            2.只能包含 数字 字母 $ _ 并且不能以数字开头
            3.严格区分大小写
            4.尽量见名知意

            用 ,号可以让一个var定义多个变量
            var变量时并不要求立马赋值
            var a, b, c;
         */
    </script>
</body>
</html>

3、Javascript鼠标事件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        div{
            width: 50px;
            height: 50px;
            background: #b864ff;
        }
    </style>
</head>
<body>
    <div id="box"></div>
    <script>
         /*
      所谓事件,是指 JavaScript 捕获到用户的操作,并做出正确的响应。
      在事件函数里面,有一个关键字this,代表当前触发事件的这个元素
      事件:用户的操作
      元素.事件 = 函数;
      鼠标事件:
          左键单击 onclick
          左键双击 ondblclick
          鼠标移入 onmouseover/onmouseenter ***
          鼠标移出 onmouseout/onmouseleave ***
       */
        var oBox = document.getElementById("box");
        oBox.onclick = function () {
            alert("我被点击了");
        };
        oBox.onmouseenter = function () {
            console.log("鼠标移入");
            this.innerHTML = "<h1>1</h1>";
            // oBox.innerHTML = "<h1>1</h1>"; //与上一句效果一样innerHTML会解析标签
        };
        oBox.onmouseleave = function () {
            console.log("鼠标移出");
        }
    </script>
</body>
</html>

4、Javascript操作标签属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
    </style>
</head>
<body>
    <a href="http://www.baidu.com" id="box" class="box" target="_black" tz="xp">百度</a>
    <script>
        /*
        js操作元素的标签属性:
            规范的标签属性:
                . 符号直接操作(可读可写)
            不规范(自定义)的标签属性:
                获取:.getAttribute()
                设置:.setAttribute()
                移除:.removeAttribute()

          注意:
          所有的 路径、颜色 获取的结果不一定是你写的内容
          通过id获取的元素赋值给变量后,假设修改了id,这个变量还是表示这个元素
          自定义标签属性的操作方式,同样可以操作符合规范的标签属性
         */
        var oA = document.getElementById("box");
        // alert(oA.target);//可读
        // oA.target = "_self";//可写
        // alert(oA.className);//class属性  要用className
        // oA.className = "";
        // alert(oA.getAttribute("tz"));
        // oA.setAttribute("tz","xxp");
        // oA.setAttribute("py","web");
        // oA.removeAttribute("class");
        // alert(oA.href)
        //点操作可以直接修改
        oA.id = "wrap";
        oA.target = "_self";
    </script>
</body>
</html>

5、Javascript操作样式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        div{
            width: 50px;
            height: 50px;
            background: #b864ff;
        }
    </style>
</head>
<body>
    <div id="box"></div>
    <script>
        /*
       行内样式标签属性:大部分情况下,js都是通过行内样式来达到修改样式的目的
        */
        //当我们需要修改单个属性的时候,我们一般都是直接.操作去修改元素的行内样式
        var oBox = document.getElementById("box");
        // oBox.style.width = "300px";
        // oBox.style.height = "300px";
        // oBox.style.cssText = "width: 300px;height: 300px;background: red;"

        // 操作复合属性时,要注意用驼峰写法(去掉-号,-号后面的第一个单词大写)
        // oBox.style.marginLeft = "20px";
        // oBox.style["margin-top"] = "50px";

        oBox.onmouseenter = function () {
            this.style.background = "red";
            this.style.width = "300px";
            this.style.height = "300px";
        }
    </script>
</body>
</html>

6、Javascript数据类型

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
    </style>
</head>
<body>
    <div id="box"></div>
    <script>
        /*
        js六大数据类型
        number——数字  在js里面的小数和整数统一都是数字 -2^53 -- 2^53 超出范围之后精度就会不准确
        string——字符串
        boolean——布尔值 true false
        null
        undefined——未定义 一个变量声明之后没有赋值就是undefined
        object——对象
        在js里面null属于对象类型,但是它不具有很多对象的共性,所以很多资料将它归为单独一类数据类型null
       */
        // var a = 0.55; //number
        // var a = "555"; //string
        // var a = true;//boolean  true || false
        // var a;
        // var a = function () {
        //     alert(1)
        // };函数不属于六大数据类型,属于alert(typeof a);弹出function
        // var a = [];//object
        // var a = {};//object
        var a = document.getElementById("box");
        alert(typeof a);
    </script>
</body>
</html>

猜你喜欢

转载自www.cnblogs.com/wangwei13631476567/p/9191903.html
今日推荐