JavaScript的一些基础问题

1.JavaScript是一种脚本语言

高级编程语言,,和python一样,不需要编译,解释型语言可以基于Node.js进行服务器编程

  • 最初是为了做表单验证的,后面用于,网页特效,服务端开发,桌面程序,app,控制硬件,游戏开发等等

  • html-css-JavaScript

  • 浏览器组成:渲染引擎,JS引擎,比如谷歌的v8,,,js执行语言是逐行解释的

  • JS组成:ECMAscript 、DOM 、BOM

2.写法

有三种,行内式、内嵌式、外部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>
    <!-- 2.内嵌式的js -->
    <script>
        // alert('hei')
    </script>
    <!-- 3.外部js写法 -->
    <script src="my.js"></script>
</head>

<body>
    <!-- 1.行内式的js  直接写在元素的内部 -->
    <!-- <input type="button" value="唐伯虎" οnclick="alert('秋香')"> -->
</body>

</html>

在这里插入图片描述
在这里插入图片描述

3.输出语句

<!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>
    <script>
        // 输入框
        prompt('请输入年龄')
        // alert 弹出警示框  弹出的 给用户看的 
        alert('计算的结果时:')
        // console 控制台输出 给程序员测试用的   f12
        console.log('只有程序员才能看到')
    </script>
</head>

<body>

</body>

</html>

4.变量

就是一个装东西的盒子,用于存放数据,在内存中开辟一片空间,变量是内存的空间

通过变量名获取数据,甚至可以修改数据

<!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>
    <script>
        //  1.声明了一个age 变量
        var age;

        // 2. 赋值  把值存入这个变量之中
        age = 18;

        // 3.输出结果
        console.log(age);

        // 4.变量的初始化  直接创建并使用
        var myname = '717';
        console.log(myname);
    </script>
</head>

<body>

</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>
    <script>
        // 1.用户输入姓名 并存储到一个变量中
        var myname = prompt('请输入名字');
        // 2.输出这个输入的
        alert(myname);
    </script>
</head>

<body>

</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>
    <script>
        // 1.更新变量
        // var myname = 'hxb'
        // console.log(myname);
        // myname = 'wdn'
        // // 输出
        // console.log(myname)

        // 2.声明多个变量
        // var age = '19',
        //     address = '717',
        //     sex = '2';

        // 3.声明变量的特殊情况
        // 3.1 只声明不赋值,结果是  undefined,程序也不知道存放的是啥
        // var sex;
        // console.log(sex);

        // 3.2 不声明不赋值,直接使用会导致某个代码报错
        // 3.3 不声明直接赋值使用  这是可以的,但是就容易变成全局变量
        qq = 110;
        console.log(qq);

    </script>

</head>

<body>

</body>

</html>

变量的命名规范

和标识符一样,第一个位置不能是数字,驼峰式的命名

可以由字母 下划线_ $ 符开头

严格区分大小写

不能是关键字,保留字name ,如var for while if 等等

变量名必须有意义

驼峰式的命名,如 myFirstName

案例-交换两个变量的值

<!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>
    <script>
        // js 是编程语言,有很强的逻辑性:实现这个思路 先怎么做,后怎么做
        // 1. 需要一个临时变量
        // 2. 把apple1 给我们的临时变量temp
        // 再把apple2 里的给apple1
        // 再把临时变量里的内容给apple2

        var temp;//声明临时变量
        var apple1 = '11';
        var apple2 = '22';
        temp = apple1;
        apple1 = apple2;
        apple2 = temp;

        console.log(apple1);
        console.log(apple2);
    </script>
</head>

<body>

</body>

</html>

5.变量的数据类型

<!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>
    <script>
        // int num = 10;   java
        // var num; //这里的num不能够确定他的数据类型

        var num = 10;  //num 属于数字型
        // js 的变量数据类型只有在程序运行的过程中,根据等号右边的值 才能确定


        // js 是动态语言,变量的数据类型是可以变化的
        var x = 10;  //整型
        x = 'pinl'; //字符串
    </script>
</head>

<body>

</body>

</html>

数据类型的分类:简单的,复杂的

在js 中 八进制前面加0,十六进制前面加0x;

<!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>
    <script>
        var num = 10;//数字型
        var PI = 3.14; //数字型
        // 1.八进制 0 ~ 7 程序里数字前面加 0 ,表示八进制;
        var num1 = 010;
        console.log(num1); //010  八进制,转换为二进制就是 9

        var num2 = 012;
        console.log(num2);

        // 2.十六进制 0~9 a~f  #ffffff  数字前面加 0x  表示十六进制
        var num3 = 0x9;//输出9
        console.log(num3);

        var num4 = 0xa; //输出10
        console.log(num4);

        //3.数字型的最大值
        console.log(Number.MAX_VALUE);

        //4.数字型的最小值
        console.log(Number.MIN_VALUE);

        //5.无穷大
        console.log(Number.MIN_VALUE * 2);  //Infinity  无穷大

        //6.无穷小
        console.log(-Number.MIN_VALUE * 2);  //-Infinity 无穷小

        //7.非数字
        console.log('pink' - 100);  //NaN
    </script>
</head>

<body>

</body>

</html>

数字型范围:

alter(Number.MAX_VALUE);
alter(Number.MIN_VALUE);

isNaN()—判断是否为数字

<!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>
    <script>
        //isNaN() 这个方法用来判断非数字,并且返回一个值 如果是hi数字就返回的是 false 如果不是数字就返回 true
        console.log(isNaN(12));//false
    </script>
</head>
 
<body>
</body>
</html>

字符串型——单引号,双引号

嵌套原则:外双内单,外单内双

字符串换行:\n
空格:\b
缩进:\t

字符串长度以及拼接

length

字符串拼接——数值相加,字符相连

<!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>
    <script>
        // 1.检测获取字符串的长度 length
        var str = 'my name is 11'
        console.log(str.length);//  13

        //2.字符串的拼接 +   主要有字符串和其他类型相拼接 最终的结果是 字符串
        console.log('hxb' + 'wdn'); //字符串的hxb wdn
        console.log('hxb' + 22);//hxb22
        console.log('hxb' + true);//hxbtrue
        console.log(12 + 12);//24
        console.log('12' + 12);//1212
    </script>
</head>

<body>

</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>
    <script>
        //弹出输入框 prompt 让用户输入年龄(用户输入)
        //把用户输入的值用变量保存起来,把刚才输入的年龄与所要输出的字符串拼接(程序内部处理)
        //使用alert 语句弹出警示框(输出结果)
        var age = prompt('请输入年龄');
        var str = '您今年已经' + age + '岁了';
        alert(str);
    </script>
</head>

<body>

</body>

</html>

布尔型:true 1,false 0

获取变量的数据类型

<!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>
    <script>
        var num = 10;
        console.log(typeof num);//number

        var str = 'qw';
        console.log(typeof str);//string

        var flag = true;
        console.log(typeof flag);//bollean

        var vari = undefined
        console.log(typeof vari);//undefined

        var timer = null;
        console.log(typeof timer);//object

        // prompt 取过来的值是 字符型

    </script>
</head>

<body>

</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>
    <script>
        //1. 把数字型转换为字符串型 变量.tostring()
        var num = 10;
        var str = num.toString();
        console.log(str);
        console.log(typeof str);

        //2.利用 String(变量)
        console.log(String(num));

        //3.利用 + 拼接字符串的方法实现转换效果  隐式转换--常用
        console.log(num + '');
    </script>
</head>

<body>

</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>
    <script>
        var age = prompt('请输入你的年龄:')
        // 1.parseInt(变量)  可以把字符型转换为整型,但是取到的是整数
        console.log(parseInt(age));
        console.log(parseInt('3.14'));// 取整 3
        console.log(parseInt('120px'));//120
        console.log(parseInt('re34px'));//NaN

        //2.parseFloat(变量) 可以把字符型转换为整型,得到的是 浮点数
        console.log(parseFloat(age));
        console.log(parseFloat('3.14'));//  3.14
        console.log(parseFloat('120px'));//120
        console.log(parseFloat('re34px'));//NaN

        //3.利用Number(变量)
        var str = '123';
        console.log(Number(str));
        console.log(Number('12'));

        //4. 利用算数运算 - * / 隐式转换
        console.log('12' - 0);//12
        console.log('123' - '12');//111
    </script>
</head>

<body>

</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>
    <script>
        //弹出一个输入框prompt,让用户输入出生年份(用户输入)
        //把用户输入的值用变量保存起来,然后用今年的年份减去变量值,结果就是今年的年龄(程序内部处理)
        //弹出警示框alert(),把计算的结果输出 (输出结果)

        var age = prompt("请输入你的出身年份")
        var str = '您的年龄是' + Number(2022 - age);

        // 简化
        var aa = 2018 - age;

        //alert(str);
        alert(aa);
    </script>
</head>

<body>

</body>

</html>

转换为布尔型——Boolean()函数

代表空、否定的词语会被转换为false

变量的小练习–

alert实现输出多个变量并换行

<!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>
    <script>
        //1.分别提示输入姓名 年龄 性别
        //2.输出结果
        //注意 alert的参数只有一个,要弹出多个,需要下面这样做
        var mingzi = prompt('您的姓名是:');

        var age = prompt('您的年龄是');

        var sex = prompt('您的性别是:');

        var str = '您的姓名是:' + mingzi + '\n' + '您的年龄是:' + age + '\n' + '您的性别是:' + sex;
        alert(str);

    </script>
</head>

<body>

</body>

</html>

运算符

注意进行计算的时候避免使用浮点数

不要直接比较两个数的值

判断是否能够被整除—取余

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值