JavaScript 01 javaScript基础认知/数据类型/运算符

简介: javaScript基础认知/数据类型/运算符

JavaScript 01

今日目标:javaScript基础认知、数据类型、变量&常量、运算符&表达式

一、javaScript基础认知

1.javaScript概念

负责网页的动效与交互,是一种运行在客户端(浏览器)的编程语言,实现人机交互效果。

作用:

网页特效 (监听用户的一些行为让网页作出对应的反馈)

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

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

组成结构:3b98cdef05d34ca0bdc25a132463f855.png

DOM操作文档,对页面元素进行控制 BOM浏览器对象模型

2.javaScript书写位置

对比CSS

c99f39534e234806aeb5904947b5c31d.png

三种引入方式:

1.行内js 代码写在标签内部 vue阶段使用较多

<!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>
    <button onclick="alert('所有的惊喜我都留在后面呢!')">点击我,给你惊喜!</button>
</body>
</html>

4cfc02b3c027416aaebe3875473bb7fa.png

2.内部js用script标签中(不带src属性),写在body标签底部,结束标签上(放在底部是因为标准流执行代码是从上到下执行的,只有在下面才可以获得到数据)


<!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('你好,欢迎看我的博客~')
</script>
</body>
</html>

9c9b2f3fa5ac44448aebea34c0026d91.png

3.外部js 通过script src引入(注意:引用外部的script中不能(在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">
      //下面这条命令不会被执行
       alert('你好,欢迎看我的博客~')
  </script>
</body>
</html>

1ad2d5fdc84b49cc8aa501b9e0ef1d68.png

3.js注释

单行 // 快捷键:ctrl+/ 块注释: / * */ 快捷键:alt+shift+a

注释的作用:方便程序员查看代码和理解代码,注释之后的内容不会被浏览器解析

4.javaScript结束符

符号是英文的; 代表语句的结束。

js引擎在执行语句代码时,默认是可以在一行显示,但是要以分号分隔。不打分号,我们要换行,js引擎解析时候会默认为;号

实际开发中可以加分号 也可以不加,需要按照团队进行判断和添加。

5.输入和输出语法

什么是语法:人和计算机打交道的规则约定

输出语句

语法1: 可以向body内输入内容 document.write(‘hello js’)

语法2:页面弹出提示框 alert(‘你必拿下’)

语法3:console.log(‘控制台打印输出’)

<!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>
        document.write('hello js');
        alert('你必拿下');
        console.log('控制台才可以看到');
    </script>
</body>
</html>

代码的执行先alert 才看的到页面中显示的hello js

7e6774ef2cfb4f1abae59575ca3143ea.png

8b01cd8e36d34baba4120e77c6a127a4.png

856eec7aaa9c42e1b5dcde8ce32ad143.png

输入语句

语法1:在页面弹出对话框,提示用户输入内容 promet(‘在这里输入内容’)

<!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>
        prompt('我们必将成功对不对!');
    </script>
</body>
</html>

7df2c855a9fa47829bad2a680ed71242.png

二、数据类型

1.数据类型概念

因为js不能识别所有的数据类型,任何变成语言编译器不同。都有属于自己的数据类型,编译器会进行分类,分类之后的数据成为数据类型。

分类原因:更加充分和高效的利用内存

数据细分:

1.数字型 number类型 整数,小数,分数,正数。用于数据计算

2.字符串类型 string类型 ’‘ ‘’ ‘’ 包裹起来的字符串类型,引号可以是嵌套的

3.布尔类型boolean 只有true 与false(用于判断)

4.undefined 未定义 固定的值 表示没有值,值不存在

5.null空值

<!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>
        //1. 数字型  number类型   整数,小数,分数,正数
        console.log(777);
        // 用于数据计算
        //2. 字符串类型 string类型 ’‘ ''  '' 包裹起来的字符串类型
        // 引号可以是嵌套的
        console.log("今天必须到23.30才'回去");
        console.log("111");
        //3. 布尔类型boolean  只有true 与false(用于判断)
        console.log(true);
        // 4.undefined 未定义 固定的值 表示没有值,值不存在
        console.log(undefined);
        //5.null空值
        console.log(null);
    </script>
</body>
</html>

控制台console中查看

88613689581e4c71a8d3f96d09e4a20d.png

2.通过typeof查看数据类型

<!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>
        //1. 数字型  number类型   整数,小数,分数,正数
        console.log(typeof 777);
        // 用于数据计算
        //2. 字符串类型 string类型 ’‘ ''  '' 包裹起来的字符串类型
        // 引号可以是嵌套的
        console.log( typeof "今天必须到23.30才'回去");
        console.log( typeof "111");
        //3. 布尔类型boolean  只有true 与false(用于判断)
        // 使用 typeof 关键字检测数据类型
        // 用法1:
        console.log(typeof true);
        // 4.undefined 未定义 固定的值 表示没有值,值不存在
        console.log(typeof undefined);
        //5.null空值
        console.log(typeof null); 
    </script>
</body>
</html>

就是在输出前面加上typeof 即可查看数据的类型

b9e4954d34074fffa37a350faa1d9080.png

三、常量&变量

1.变量是什么?

变量是计算机用来存储数据的容器

2.变量的基本使用

1.变量的使用:

先声明变量,后就可以对变量进行赋值操作

声明变量:let 变量名

两部分构成:声明关键字、变量名(标识)

变量的赋值; 变量名=值 (值给变量)

变量的优化写法: let 变量名=值

2.变量的连写

let age = 18, sex = ‘女’, name = ‘坤坤’

中间用空格隔开即可,

推荐写法:

//一行定义一个变量
let age = 18
let sex = ‘女’
let name = ‘坤坤’

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>
</head>
<body>
    <script>
        // 使用变量保存数据
        // let name = prompt('请输入你的姓名')
        // document.write(name)
        // console.log(name);
        while (true) {
            // prompt('输入你的姓名')前加上+就是将输入的值转化为了数值型
            let uname = prompt('请输入我们的暗号')
            // 两个==代表输入内容相等的时候  ===代表全等的时候
            if (uname === 123) {
                document.write(`${uname},暗号正确!`)
                break
            } else { 
                alert('请输入正确的暗号!')
            }
        }
    </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 num1 = 10;
let num2 =20;
let temp =num1;
 num1 = num2;
 num2 = temp;
document.write(num1,num2)
    </script>
</body>
</html>

常量是什么?

就是不可以变化,不可以被修改的量。在javaScript中用const代表常量。

举个第二天的例子

4.变量的命名和规范

规则:

不能用关键字(关键字:有特殊含义的字符)

1.1 JavaScript 内置的一些英语词汇。例如:let、var、if、for等

只能用下划线、字母、数字、$组成,且数字不能开头

字母严格区分大小写,如 Age 和 age 是不同的变量

命名需要有语义化

推荐使用小驼峰命名法(连写单词,第二单词首字母大写)

拓展let 与 var 的区别(了解)

1.var可以先使用,再声明。let先使用会报错

2.var可以重复定义的。let不可重复重复变量

3.var没有块级作用域,let定义的变量有作用域

5.常量

常量概念:不能变化的值,是一个固定值

与变量的区别:常量的值无法改变,强制修改会报错

fad9d67ed2504361b655d4dcdc678075.png

但是如果在for里面它是一个全新的块级作用域,const不会报错(javaSceipt 05 有这个例子)

a212b3159fdc4351acdb484ba7fd7fa9.png

<!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>
        // 变量可以重复修改值,常量不可变化
        const c =3.1415926
        // 最终导出的还是上面的值
        c = 10
        console.log(c)
    </script>
</body>
</html>

d1e4903c92254c28a8bd994936be8b51.png

四、运算符&表达式

概念:

运算符:可以用来运算的符号 + - * /

表达式:由运算符组成的式子,是一段可以用来求值的代码

<!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 a = 10;
        // 数字相加
        console.log(a + 10);
    </script>
</body>
</html>

1b516c6d71f24391bf05629a114f8438.png


1.算数运算符 + - * / %(具体运算参考小学二年级)

注:取一般用来判断是否被整除

拓展:连接符(+):

数字相加计算,字符串相加为拼接(注意括号里面试反引号)

字符串连接案例

<!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 name = prompt('请输入姓名')
        let age = prompt('请输入年龄')
        //书写格式:`${变量名}` (注意加上反引号``)
        document.write(`大家好,我叫${name},今年${age}岁了`)
    </script>
</body>
</html>

用户订单案例

注意:table是写在script标签里面,table标签外需要加上反引号``


<!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>
        table {
            width: 500px;
            margin: 100px auto;
            /* 表格合并,表格重复的边框显示单个 */
            border-collapse: collapse;
            text-align: center;
        }
        table,
        tr,
        th,
        td {
            border: 1px solid #000;
        }
    </style>
</head>
<body>
    <script>
        let price = prompt('请输入商品的价格:');
        let amount = prompt('请输入商品的数量:');
        let address = prompt('请输入所在地址');
        let total = price * amount;
        console.log(price.amount, address, total);
        // document.write写多项数据使用反引号
        document.write(`<table>
        <caption>
            <h2>商品订单</h2>
        </caption>
        <tr>
            <th>商品名称</th>
            <th>商品价格</th>
            <th>商品数量</th>
            <th>总价</th>
            <th>收获地址</th>
        </tr>
        <tr>
            <td>Macboobair M1</td>
            <td>${price}</td>
            <td>${amount}</td>
            <td>${total}</td>
            <td>${address}</td>
        </tr>
    </table> ` )
    </script>
</body>
</html>

02d8764ec51fc974351a2de647ad388.png

2.赋值运算符 += -= *= /= %

简单点来说就是将语句简化输出,举个例子

<!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 number =10;
        number*=5//a= a*5
        console.log(number);
    </script>
</body>
</html>

3.一元运算符

概念:一个数参与运算,以此类推2个数参与运算就是二元,往后同理

作用:

1.自增 符号++

2.自减 符号–

隐藏操作 ++可前置也可以后置,单独使用没有任何区别

举个栗子


<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 number = 1;
        // number = number + 1;
        // number+=1
        // 一元写法
        number++
        console.log(number);
        // 隐藏操作 ++可前置也可以后置,单独使用没有任何区别
        // 前置先自增/自减后输出
        let age = 10;
        console.log(++age+1);//12
         // 后置 先输出再自增/自减
        // console.log(age+++1);//11
        // console.log(age);//11
    </script>
</body>
</html>

4.比较运算符(> < >= <= != !==)

使用场景:比较两个数据大小是否相等

返回结构:都是布尔型数据只有true与false

举个栗子


<!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>
        // 使用场景:比较两个数据大小是否相等
        // 返回结构:都是布尔型数据只有true与false
        console.log( 1 > 2);//false
        console.log(150>= 100);//true
        // 一个等号是赋值
        // console.log(150 ='150');//报错
        // 两个等号是比较值
        console.log(150== '150' );//true
        // 三个等号是全等,看值和类型
        console.log(1 ==='1');//false
        //  !=比较的是值        !==比较的是值和类型
        console.log(12!==13);//true
        console.log(12!='12');//false
        console.log(12!=='12');//true
        // 拓展面试题:字符串比较的是ASCLL码
        // 小写的a为97大写的A为65,a-z递增
        // null 和 undefined的值相等,类型不相等
        console.log(null == undefined);//true
        console.log(null === undefined);//false
    </script>
</body>
</html>

5.逻辑运算符

使用场景:处理多重条件判断的时候

返回值:布尔类型 true和false

`<!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>
        `// 逻辑与&&      一假则假(全部满足)`
        `console.log(true && false);//false`
        `console.log(1 !='1' && 2 ==='2');//false`
        `// 逻辑或||     一真则真(满足一个就可以)`
        `console.log(false || true);//true`
        `console.log('a' ==='a' || 2>5);//true`
        `// 逻辑非! 取反`
        `console.log(!false);//true`
    `</script>`
`</body>`
`</html>`


相关文章
|
3月前
|
存储 JavaScript 对象存储
js检测数据类型有那些方法
js检测数据类型有那些方法
144 59
|
11天前
|
存储 JavaScript 前端开发
JavaScript中的数据类型以及存储上的差别
通过本文的介绍,希望您能够深入理解JavaScript中的数据类型及其存储差别,并在实际编程中灵活运用这些知识,以提高代码的性能和稳定性。
38 3
|
1月前
|
存储 JavaScript 前端开发
js中的数据类型
JavaScript 中的数据类型包括五种基本类型(String、Number、Undefined、Boolean、Null)和三种引用类型(Object、Array、Function,以及ES6新增的Symbol)。基本类型直接存储值,引用类型存储的是指向实际数据的内存地址。了解它们的区别对于掌握 JavaScript 的变量赋值和函数传参至关重要。
24 1
|
2月前
|
存储 JavaScript 前端开发
JavaScript 数据类型详解:基本类型与引用类型的区别及其检测方法
JavaScript 数据类型分为基本数据类型和引用数据类型。基本数据类型(如 string、number 等)具有不可变性,按值访问,存储在栈内存中。引用数据类型(如 Object、Array 等)存储在堆内存中,按引用访问,值是可变的。本文深入探讨了这两种数据类型的特性、存储方式、以及检测数据类型的两种常用方法——typeof 和 instanceof,帮助开发者更好地理解 JavaScript 内存模型和类型检测机制。
115 0
JavaScript 数据类型详解:基本类型与引用类型的区别及其检测方法
|
2月前
|
JavaScript
js运算符
js运算符
23 5
|
2月前
|
JavaScript 前端开发 开发者
【干货拿走】JavaScript中最全的数据类型判断方法!!!!
【干货拿走】JavaScript中最全的数据类型判断方法!!!!
29 1
|
2月前
|
存储 JavaScript 前端开发
JavaScript数据类型全解:编写通用函数,精准判断各种数据类型
JavaScript数据类型全解:编写通用函数,精准判断各种数据类型
52 0
|
3月前
|
JavaScript 前端开发
JavaScript基础知识-基本数据类型和引用数据类型
关于JavaScript基础知识的文章,主要介绍了基本数据类型和引用数据类型。
46 2
JavaScript基础知识-基本数据类型和引用数据类型
|
3月前
|
存储 前端开发 JavaScript
前端基础(三)_JavaScript数据类型(基本数据类型、复杂数据类型)
本文详细介绍了JavaScript中的数据类型,包括基本数据类型(Number、String、Boolean、Undefined、Null)和复杂数据类型(Object),并解释了如何使用`typeof`操作符来识别变量的数据类型。同时,还讨论了对象、函数和数组等复杂数据类型的使用方式。
72 2
|
2月前
|
JavaScript 前端开发
JavaScript 运算符全知道
JavaScript 运算符全知道
59 0