Javascript基础

162 阅读2分钟

前言

1.ECMAScript 语法核心知识:变量、分支语句、循环语句、对象等

2.webapi:BOM、DOM

基础

1.js的书写

写在<script></script>标签内,和外部引用方式:<script scr=""></script>、行内式<h1 onclick="alert('hello')"></h1>

2.结束符“;

一行内只写一个语句,如写多个,要用分号隔开。

3.五种数据类型:

// 1.数值 number
        console.log(10);
        console.log(-10);
        console.log(10.5);
​
// 2.字符串:引号的区别
        console.log('hello');
        console.log("world");
        console.log(`hello world`);
​
// 3.布尔类型 boolean
// 仅有true 和 false
        console.log('true');
        console.log(true);
        console.log(false);
​
// 仅具有两种性质的数据,可以使用布尔类型来表示
        console.log(10 < 20); // true
        console.log(10 > 20); // false
        
// 4.未定义
        console.log(undefined);
​
// 5.空类型
        console.log(null);

4.查看数据类型 typeof() :

// typeof() 查看数据类型
    console.log(typeof()); // 在控制台输出类型// * 查看数据类型:typeof(),为获取数据类型,不具备输出功能
    console.log(typeof(10)); // number
    console.log(typeof('hello')); // string
    console.log(typeof(true)); // boolean
    console.log(typeof(null)); // object对象// 对于prompt()来说,点击确认 计算机接收到的是string类型,反之null类型
    console.log(typeof(prompt('请输入数据')));
​
// 对于confirm()来说,就是boolean类型
    console.log(typeof(confirm('请选择')));

5.数组:

用 [ ] 方括号括起来,以逗号隔开每一个数值。(复杂运算符)

    let arr = [10, 49, 16, 20];
// 查看所有元素
    console.log(arr);  // 10, 49, 16, 20// 查看数组中的某一个元素,数组名[下标],数组中的下标从0开始,表示第一位数值
// 不存在的下标返回undefined
    console.log(arr[0]);  // 10
    console.log(arr[3]);  // 20
    console.log(arr[20]);  // undefined// 添加元素,数组名[下标] = 数值
    arr[4] = 100;
    console.log(arr);  // 10, 49, 16, 20, 100// 获取数组的长度:数组名.length
    console.log(arr.length);   // 5

6.变量:

内存中用于存储数据的一个空间,为了使用空间所起的名字,叫做变量。

// 声明变量 = 数据,将右侧的数值赋给左侧
    let 变量名 = 值
    console.log(变量名);
​
// 修改变量值,不能let已声明过的变量名
    变量名 = 新值
    console.log(变量名);
​
// * 仅声明变量,没有赋值,返回结果为undefined
变量命名命名规则及规范:
​
    1.规则:
        1-1.不能用js的关键字,如 let / var / if / for /1-2.只能用下划线字母数字$组成,且数字不能开头
        严格区分大小写,Age与 age是不同的变量
        
    2.规范:
        2-1.起名有意义
        2-2.注意驼峰命名,如 userName
// 交换a和b的值
    let a = 10;
    let b = 20;
    console.log(a, b);
​
    let c = a; // c是空值
    a = b;
    b = c;
    console.log(a, b);

7.常量:

一类特殊的变量,常量里的值不允许被修改

    // 语法:  
    // 1.定义时必须赋值
    // 2.存储不被允许修改的数据
    const 常量名 = 数据;
​
    // 如果更改常量的值,返回结果会报错
    未捕捉     错误类型      分配     至   常量     可变量
    Uncaught TypeError: Assignment to constant variable.
    报错:不可重新分配常量的值。

8.算术运算符:

加+ 、减- 、乘* 、除/ 、取余%

    // + - * / 是原来的使用方法
    // % 取模、求余,多用于求偶数、奇数
    console.log(5 % 3);     //余2,不能被整除,即奇数
    console.log(9 % 3);     // 余0,能被整除,即偶数

自增 ++ ,自减 -- ,在原值基础上增1或减1

    let a = 20;
    // 自增 ++
    a++     // 返回结果:21。相当于a = a + 1;
    console.log(a);
​
    let b = 20;
    // 自减 --
    b--     // 返回结果:19。相当于a = a - 1;
    console.log(b);

9.字符串运算符: + 、 +=

//字符串的拼接
// 1. + 拼接
    let str1 = 'hello',
        str2 = ' world';
    console.log(str1,str2);
​
    let str3 = str1 + str2;
    console.log(str3);      // ’hello world'
​
// 2. += 拼接
    let str1 = 'hello';
        str1 += ' world';
    console.log(str1);      // ’hello world'

10.数据类型的转换:

① 隐式转换:js 内部运算时,自己完成的转换

    // 使用+ 、 += 输出时,会优先进行字符串拼接,其他运算符计算机会自动完成转换
    console.log(2 - '2');   // 0
    
    // 相当于console.log(2 - Number('2'));,计算机把字符串自动转化为数字类型

② 显式转换:程序员在书写代码时发现数据类型不同,自己完成的转换

    // 添加类型Number(),将字符串''转换为数字类型进行输出
    console.log(10 + Number('20'));     // 30// 把数字类型转换为String()类型
    console.log(10 + String(10));       // 1010
// 拓展:多种方式实现数值转换
    // 让用户输入的数值与库存相加,在控制台输出总数
    let inventory = 100;
    let num = prompt('请输入本月的入库数');
​
    let total = inventory + num;
    console.log(total);
​
    Ⅰ let total = inventory + Number(num);
    Ⅱ 2.let num = Number(prompt('请输入本月的入库数'));
    Ⅲ 3.let num = prompt('请输入本月的入库数') * 1 ;
    Ⅳ 4.let num = +prompt('请输入本月的入库数');

11.数值的提取parseInt()、parseFloat():

    // parseInt():在字符串中,从左向右依次提取整数,直到遇到非数字,停止提取
    console.log(parseInt('1090'));
​
    // parseFloat():在字符串中,从左向右依次提取小数,直到遇到非数字,停止提取
    console.log(parseFloat('3.1415926458'));

12.模板字符串:反引号``

    // 反引号:可以换行,可以添加解析变量${}的值
    let age = 28;
    let str = `今年${age}岁`;
​
    // 外面单引号,里面双引号,不可以使用同一种引号
    let str1 = "<table style='width:400px,height:400px'>";