joeの小窝

Loading...

js基础01

js版本更新,之前有些语法就是被淘汰了,就是不是很适配的,引入了一些新的语法规则,现在的浏览器都是用的新的规则

javascript历史

诞生:10 天紧急开发(1995)
作者:布兰登・艾奇(Brendan Eich)
公司:网景(Netscape),当年的浏览器霸主
时间:只用了 10 天就写出了第一版
目的:让网页能 “动起来”(表单验证、简单交互),不用依赖服务器
原名:Mocha → LiveScript,为了蹭 Java 热度改名为 JavaScript(和 Java 没有血缘关系,只是名字像)

微软推出了自己的兼容版 JScript,导致网页兼容混乱。
1997 年,欧洲计算机制造商协会 ECMA 统一标准,命名为:
ECMAScript(ES) = JavaScript 的官方标准
我们平时说的 JS 就是 ECMAScript 的实现。

js的引入方式和输出

内部引入

在body标签中写入script标签对

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // js代码编写
    </script>

</body>

</html>

行内引入

外部引入

定义外部的js文件,引入的话,就需要在head标签中写

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 引入外部的js文件 -->
    <script src="./test.js"></script>
</head>

javascript输出方式

    <script>
        console.log("这个是js输出方式");
        

    </script>

运行文件,打开浏览器,点击检查,选择控制台,就能看到输出的信息了

img

    <script>
        console.log("这个是js输出方式");
        // 在浏览器上弹出一个框,带有信息的
        alert("你好")
    </script>

img

变量

js变量的含义

js和python一样,不需要声明变量的类型

let关键字定义变量,以前的var定义的已经过时了

    <script>
        console.log("这个是js输出方式");
        // 定义多个变量的时候,逗号隔开
        let a, b
        a = 10
        b = 20
        let c = 30
    </script>

规范:

  • 严格区分大小写

  • 可以出现字母,数字,下划线,但是不能以数字开头,也不能是纯数字

数据类型

js有2种数据类型,基本数据类型和引用数据类型

基本数据类型:简单的数据段,数字(number) 字符串(string) 布尔,null,undefained

引用数据类型:多个值构成的对象,包含对象数据类型(数组arry,对象object),函数这些

基本数据类型

数字(number)

    <script>
        console.log("这个是js输出方式");
        // 数字
        let a = 10
        // 判断是什么类型的
        console.log(typeof (a));
    </script>

img

字符串(string)

let s1 = "123"

布尔(boolean)

布尔类型的对是小写的true,而不是首字母大写的True,会识别成一个变量的

let b1 = "true"

空值(null)

就是定义了变量,赋值为null

let c1 = null

空值(undefine)

定义了变量,但是没有赋值的,就是未定义类型


let d1 

引用数据类型

数组(arr)

let arr = [123, 12]
<!-- 对数组进行取值,也是通过索引,不支持负数索引 -->
console.log(arr[1]);
<!-- 输出数组的长度 -->
console.log(arr.length);

对象(object)

类似py中的字典

        let d1 = {
            name: "zq",
            age: 18
        }
        <!-- 对象.key来取值 -->
        console.log(d1.name);

运算符

跟python类似

字符串拼接

        let a = 10
        let b = 20
        // 输出为30
        console.log(a + b);

        // 输出为1020 会将数字隐式转换为字符串,进行拼接
        let c = "10"
        let d = 20
        console.log(c + d);

img

算数运算符和复合运算符

let a=10,b=20
let c = a+b

复合运算符
a++ 就是先输出a,然后a自增1
++a 就是先自增1,在输出

比较运算符

有> < != 等等

        // == 等于,
        let a = 30
        let b = "30"
        // == 判断的是值,会隐式的转换为数字类型
        console.log(a == b); // 输出为真

        // 全等 ==== 会判断值,和类型,不会隐式转换
        console.log(a === b); // 输出为假

逻辑运算符

&& 和 ||

流程控制

if,else if,else

js都带有一个{}

       let a = 10
        let b = 15
        if (a > b) {
            // 条件成立就执行代码
            console.log("条件为真");

        }

        else if (a == b) {
            console.log("相等");
        }
        else {
            console.log("小于");
        }

for循环

循环需要的:初始化变量,判断循环条件,更新循环变量

        //  for 条件  1、初始化,循环条件、更新循环变量
        for (let i = 0; i < 5; i++) {
            // 这个i是索引,不是数组里面的值
            console.log(i);
        }
        // 另外一个写法,对迭代对象进行循环,数组,字符串
        let arr = [1, 2, 3, 4]
        for (let i in arr) {
            // 这个循环出来的值是索引,因此想要具体的值话,索引取值即可
            console.log(arr[i]);
        }

// 或者使用for of 遍历的就是值

        let arr = [1, 2, 3, 4, 5]
        for (let i of arr) {
            // 遍历获取的就是值
            console.log(i);
        }

对object对象进行循环,类似python对字典进行循环

        let a = {
            name: "qq",
            age: "10",
            i: 99
        }

        for (let i in a) {
            // i取出来的是key值
            console.log(i);
            // 但是不会输出,默认从对象中找i这个键值对,添加一个i键值对,就会输出信息了
            console.log(a.i);
        
            // 如果想要拿到对象里面的值的话 对象[]
            console.log(a[i]);
            // 这样就会输出信息了
        }

while循环

// 初始化变量,判断循环条件,更新循环变量
        let i = 0
        while (i < 2) {
            console.log("小于3");
            i++
        }

break和continue

和python一样的含义

break,直接终止循环

continue 跳出本次循环,继续下次循环

函数

定义函数

第一种就是关键字定义

// 关键字function定义
        function add(x) {
            console.log("aaa");
            console.log(x);
            // 返回值也有
            return 100
        }
        // 调用函数
        // 实参和形参也可以设置

        console.log(add(1));

另外一种写法,箭头函数,新版本添加的

        let b = (x, y) => {
            console.log("我是箭头函数");
            console.log(x, y);
        }
        // 调用函数
        b(1, 2)

定时器

2种定时器

时间以毫秒为单位,1s=2000ms

setTimeout()

只在指定的时间后执行一次,之后就不会继续执行了

        setTimeout(() => {
            console.log("我被调用了");
        }, 2000);

setInterval()

周期性的执行

        setInterval(() => {
            console.log("我有被调用了");

        }, 2000);

怎么关闭了?

  • 第一种关闭浏览器

  • 第二种用户点击停止,涉及到js交互

posted @ 2026-05-27 20:42  乔的港口  阅读(33)  评论(0)    收藏  举报