Javascript学习笔记week1

Week1

JS介绍:JS是一种运行在客户端(浏览器)的编程语言,以此实现人机交互的效果。(而HTML、CSS是一种标记语言

JS作用:网页特效,监听用户的一些行为让网页做出对应的反馈

        表单验证,针对表单数据的合法性进行判断

        数据交互,获取后台的数据,渲染到前端

        服务器编程,如node.js

JS的组成:ECMAScript(JS的语言基础)  Web API(由DOM BOM组成)

ECMAScript:规定了js基础语法核心知识,如变量、分支语句、循环语句、对象等

Web APIs:DOM操作文档,比如对页面元素进行移动、大小、添加删除等操作

          BOM操作浏览器,比如页面弹窗,检测窗口宽度,存储数据到浏览器等

权威网站:MDN   MDN Web Docs (mozilla.org)

体验JS

<!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>

        .pink{

            background-color: pink;

        }

    </style>

</head>

<body>

    <button class="pink">按钮1</button>

    <button>按钮2</button>

    <button>按钮3</button>

    <button>按钮4</button>



    <script>

        let bts = document.querySelectorAll('button')

        for(let i =0;i<bts;i++)

        {

            bts[i].addEventListener('click', function() {

              document.querySelector('.pink').className = ''

              this.className = 'pink'

        })

        }

    </script>

</body>

</html>

JS书写位置

类比CSS

行内样式表     行内JS

内部样式表     内部JS

外部样式表     外部JS

内部JS:直接写在html文件里,用script标签包住

规范:script标签写在</body>上面

拓展:alert(‘你好,js’)页面弹出警告对话框

Tips:将script标签放在HTML文件的底部附近原因是浏览器会按照代码在文件的顺序加载HTML,如果先加载的js期望修改其下方的HTML,那么它可还能由于HTML尚未被加载而失效,因此,将js代码放在HTML页面的底部附近通常是最好的策略。

<!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>

</head>

<body>

    <SCript>

        alert('你好,js')//页面弹出警示框

    </SCript>

</body>

</html>

外部JS:代码写在以.js结尾的文件里

语法:通过script标签,引入到HTML页面中

Tips:script标签中间无需写代码,否则会被忽略;外部js会使代码更加有序,更易于复用,且没有了脚本的混合,HTML也会更加易读,因此这是个好的习惯

<!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>

</head>

<body>

    <script src="my.js">

        //中间写的内容会被忽略,最好不要写

    </script>

</body>

</html>

内联js:代码写在标签内部(此处作为了解,vue中会用这种形式)

JS注释

单行注释

符号://

作用://右边这一行的代码会被忽略

快捷键:ctrl+/

块注释

符号:/* */

作用:在/*和*/之间的所有内容都会被忽略

快捷键:shift+alt+a

结束符

作用:使用英文的;代表语句结束

实际情况:开发中可写可不写,浏览器可以自动推断语句的结束位置

现状:实际开发中越来越多人主张省略结束符

约定:为了风格统一,要么每句都写,要么每句都不写

<!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>

</head>

<body>

    <script>

        //单行注释

        /*块

        注

        释*/

        alert('第一句话');

        alert('第二句话')

    </script>

</body>

</html>

输入和输出语法

输出

1:document.write(‘要出的内容’)

向body内输出内容,如果输出的内容写的是标签,也会被解析成网页元素

2:alert(‘要出的内容’)

页面弹出警告对话框

3:console.log(‘控制台打印’)

控制台输出语法,程序员调试使用

输入

Prompt(‘请输入您的姓名:’)

显示一个对话框,对话框中包含一条文字信息,用来提示用户输入文字,即括号内单引号中的内容

Tips:alert和prompt会跳过页面渲染先被执行(目前仅作为了解)

变量

变量是计算机用于存储数据的容器,并不是数据本身

变量的声明

语法:let 变量名

声明变量由两部分组成:声明关键字,变量名(标识符)

变量的赋值

定义变量之后,能够初始化变量,对其进行赋值,“=”为赋值号

<!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>

</head>

<body>

    <script>

        // let age//声明一个年龄变量

        // age = 18//赋值

        // console.log(age);//在控制台输出age的值

        let age=18//声明的同时进行赋值,变量的初始化

    </script>

</body>

</html>

小练习:声明变量1购买商品的数量num=20,变量2用户的姓名uname为张三,用控制台打印出两个变量

<!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>

</head>

<body>

    <script>

        let num=20

        let uname='张三'

        console.log(num);

        console.log(uname);

    </script>

</body>

</html>

更新变量

变量赋值后,还可以通过简单的给他一个不同的值来更新他

<!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>

</head>

<body>

    <script>

        let age=18

        age=19

        //而不能再这样写 let age =19

        console.log(age);

    </script>

</body>

</html>

Let不允许重复声明同一个变量

声明多个变量

<!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>

</head>

<body>

    <script>

        // let age=18

        // age=19

        // //而不能再这样写 let age =19

        // console.log(age);

        let age = 18,uname = '张三'//声明多个变量

        console.log(age,uname);

    </script>

</body>

</html>

可是声明变量时为了可读性提倡用第一种方法,即一行声明一个变量

变量声明练习

进入页面弹出一个对话框,输入姓名,在页面中打印出输入的姓名

<!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>

</head>

<body>

    <script>

        let uname=prompt('请输入姓名:')

        document.write(uname)

    </script>

</body>

</html>

变量值的交换

类比C++,C语言中值的交换,声明除两个变量之外第三个变量,通过这一中间体将两个变量的值进行交换

<!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>

</head>

<body>

    <script>

        let uname=prompt('请输入姓名:')

        document.write(uname)

    </script>

</body>

</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值