javascript基础

javascript

学习目标

1.掌握js的组成
2.掌握数据类型
3.掌握运算符
4.掌握流程控制
5.掌握数组
6.掌握函数
7.掌握作用域
8.掌握js对象

一、javascript 概述

1.1 javascript 介绍

JavaScript在1995年由Netscape(网景)公司设计的脚本语言。

js是一个什么样的语言呢?

  • 是一门脚本语言:不需要编译,直接执行
  • 是一门解释性语言:相对于编译语言java不同,没有编译成机器语言class文件过程;源代码不能直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运行 (浏览器作为解释器)
  • 是一门动态类型的语言:静态语言(强类型语言):如java、c、c++。动态类型语言(弱类型语言):如javaScript。l两者的不同之处在于:强类型语言是一旦变量的类型被确定,就不能转化的语言。 弱类型语言则反之,一个变量的类型是由其应用上下文确定的。
  • 是一门基于对象的语言:模仿面向对象语言书写风格

1.2 javascript的组成

ECMAScript 是JavaScript的核心,描述了语言的基本语法和数据类型,ECMAScript是一套标准(规范了js的规范),定义了一种语言的标准与具体实现无关

BOM : -Browser Object Model 浏览器对象模型 :一套操作浏览器功能的api;

DOM:Document Object Model 文档对象模型:一套操作页面文档对象的模型

二、javascript 引入方式

javascript简称js,js有两种引入方式

  • 内部引入方式
  • 外部引入方式

2.1 js内部引入

js内部引入语法

script 标签可以写在页面的任意位置

示例:

<!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>
        //控制台输出一句话
        console.log("hello js");
        //在页面输出一句话
        document.write("hello js");
        //弹出一句话
        alert("弹出一句话");
    </script>
    //外部引入方式
    <script src="../js/dome01.js"></script>
</head>
<body>
    
</body>
</html>

2.2 js外部引入

js引入外部文件语法

注意:引入外部文件的script标签不允许在标签内写任何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>js引入外部文件</title>
        <script src="../js/demo1.js"></script>
    </head>
    
    <body>
    
    </body>
    
    </html>

引入的demo1.js代码

外部引入的.css

//控制台输出一句话
console.log("hello js");
//在页面输出一句话
document.write("hello js");
//弹出一句话
alert("弹出一句话");

三 、数据类型

ECMAScript中有5中基本数据类型:

  • Undefined
  • Null 空
  • Boolean 布尔类型
  • Number 数量类型
  • String 字符串类型

在学习js 数据类型前先js的输入与输出

3.1 js 的输入与输出

js输入语法:

  • prompt()输入任意内容会以弹窗形式出现在浏览器中,一般提示用户输入一些内容

js输出语法:

  • console.log() 向控制台打印一句话
  • document.write() 向页面写入
  • 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>js的输入和输出</title>
    <script>
        //输入
        let a = prompt("请输入一个数字");
        //输出
        console.log(a);
        document.write(a);
        alert(a);
    </script>
</head>
<body>
    
</body>
</html>

3.2 js的五种基本数据类型

js的基本数据类型分为以下五种

  • Undefined
  • Null
  • Boolean
  • Number
  • String

Number 类型 即数学中学习到的数字,可以是整数、小数、正数、负数

String 通过单引号( ‘’) 、双引号( “”)或反引号包裹的数据都叫字符串,单引号和双引号没有本质上的区别,推荐使用单引号。

Boolean 表示真假类型 ,true代表真 ,false代表假的

Undefined 表示只声明没有赋值的变量类型

Null 表示赋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>js的数据类型</title>
    <script>
        // 定义number类型变量
        let a = 2.2;
        // 查看a的类型
        console.log(typeof a);
        // 注意js是弱语言类型,a变量的类型取决于值的类型,不是在定义变量的时候生命好
        a = 'hello';
        console.log(typeof a);
        a = true;
        console.log(typeof a);
        a = null;
        console.log(typeof a);
        let b;
        console.log(b);
    </script>
</head>

<body>

</body>

</html>

3.3 var、let 、const关键字

JavaScript 使用专门的关键字 let 和 var 来声明(定义)变量,在使用时需要注意一些细节:

以下是使用 let 时的注意事项:

  1. 允许声明和赋值同时进行
  2. 不允许重复声明
  3. 允许同时声明多个变量并赋值
  4. JavaScript 中内置的一些关键字不能被当做变量名

以下是使用 var 时的注意事项:

  1. 允许声明和赋值同时进行
  2. 允许重复声明
  3. 允许同时声明多个变量并赋值

大部分情况使用 let 和 var 区别不大,但是 let 相较 var 更严谨,因此推荐使用 let,后期会更进一步介绍二者间的区别。

const用于定义常量,初始化的值不能改变

示例:

<!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>关键字</title>
    <script>
        //变量
        let a =1;
        a = 2;
        console.log(a);
        //常量
        //const用于定义常量,初始化的值不能改变,但是可以定义对象,改变其对象内容
        const j =1;
        console.log(j);
        /*什么时候用常量,定义对象用常量,定义对象通常const因为改变对象的内容
        内容不会改变对象的地址
        */
        const obj={};
        obj.id=1;
        obj.name="张三";
        console.log(obj);

    </script>
</head>
<body>
    
</body>
</html>

3.4 数据类型转换

3.4.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>数据类型的隐士转换</title>
    <script>
        let i =12;
        let j = '3';
        //当运算能正常运动时不会发生隐士转换
        console.log(i+j);
        //当运算能不能正常运动时,尝试隐士转换对应类型进行运行
        console.log(i-j);
        console.log(i*j);
        //隐士转换非0即true
        while(j){
            console.log("hello js")
            break;
        }
    </script>
</head>
<body>
    
</body>
</html>

3.4.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>显示转换</title>
    <script>
        let a ='12';
        console.log(typeof a);
        document.write(typeof a);
        //将string类型转为number类型
        a = Number( typeof a);
        console.log(typeof a);
        document.write(typeof a);
        //将number显示转换为string
        //a= a+"";number+字符串("")可以转变为string
        a= a+"";
        console.log(typeof a);
        document.write(a);
    </script>
</head>
<body>
    
</body>
</html>

四、运算符

大部分运算符都在学习java的时候讲过,这里面我们直接练习。

4.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>算数运算符</title>
    <script>
        let a = 1;
        let b = 2;
        console.log(a + b);
        console.log(a - b);
        console.log(a * b);
        console.log(a / b);
        console.log(a % b);
    </script>
</head>

<body>

</body>

</html>

4.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>赋值运算符</title>
    <script>
        let a = 2;
        a += 2;
        a -= 2;
        a *= 2;
        a /= 2;
        a %= 2;
        a++;
        ++a;
        console.log(a);
    </script>
</head>

<body>

</body>

</html>

4.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>比较运算符</title>
    <script>
        let a = 2;
        let b = '2';
        console.log(a == b);
        console.log(a === b);
        console.log(a != b);
        console.log(a !== b);
        <!-- 算数运算符主要包含> < >= <= ==  != === !==

        注意:

        - =====的区别
        - == 比较的是值,===比较的是值和类型,开发用===
        - !=!== 的区别
        - !=比较的是值,!== 比较的是值和类型 -->
    </script>
</head>

<body>

</body>

</html>

4.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>逻辑运算符</title>
    <script>
        let i =1;
        let j =2;
        console.log(i>1 || j >1);
        console.log(i>1 && j>1);
    </script>
</head>
<body>
    
</body>
</html>

五、流程控制

流程控制和java的流程控制一样这里面不在讲解,直接做几道练习题

5.1 分支结构

练习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>分支结构练习题1</title>
    <script>
        let a = prompt("请输入一个整数");
        if (a > 0) {
            console.log("正数");
        } else {
            console.log("非正数");
        }
    </script>
</head>

<body>

</body>

</html>

练习2:根据客户输入的月份判断季节,如输入3、4、5返回春季;6、7、8返回夏季;9、10、11返回秋季;12、1、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>分支结构练习题2</title>
        <script>
            let n = prompt("请输入【1-12】之间的一个整数")
            n = Number(n);
            switch (n) {
                case 3:
                case 4:
                case 5:
                    console.log("春天");
                    break;
                case 6:
                case 7:
                case 8:
                    console.log("夏天");
                    break;
                case 9:
                case 10:
                case 11:
                    console.log("秋天");
                    break;
                case 12:
                case 1:
                case 2:
                    console.log("冬天");
                    break;
            }
        </script>
    </head>
    
    <body>
    
    </body>
    
    </html>

5.2 循环结构

if else循环

<!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>ifelse结构</title>
    <script>
        // if(boolean条件){
        //     语句;当语句为一条语句时,{}可以省略
        // }
        // if(boolean条件){
        //     语句,如果语句时一条{}可以省略
        // }else {
        //     语句,如果语句时一条{}可以省略
        // }

        // if(boolean条件){
        //     语句
        // }else if(条件){
        //     语句
        // }....{
        //     语句
        // else {
        //     语句
        // }
        
        let a =1;
        if(a>0){
            console.log('正数');
        }else{
            console.log('0或负数');
        }


        let scroe =prompt("请输入一个成绩分数");
        if(scroe>0 &&scroe<60 ){
            console.log('不及格');
        }else if(scroe<85){
            console.log('良好');
        }else{
            console('优秀');
        }
    </script>
</head>
<body>
    
</body>
</html>

练习1:分别用for、while循环计算出1-100的和。

<!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>循环结构</title>
    <script>
        let sum = 0;
        let i = 1;
        while (i <= 100) {
            sum += i;
            i++;
        }
        console.log(sum);
        let sum2 = 0;
        for (let i = 1; i <= 100; i++) {
            sum2 += i;
        }
        console.log(sum);
    </script>
</head>

<body>

</body>

</html>

5.3 综合练习

  1. 在页面上打印9*9乘法表

六、函数

6.1 函数的概念

把一段相对独立的具有特定功能的代码块封装起来,形成一个独立实体,就是函数,起个名字(函数名),在后续开发中可以反复调用

函数的作用就是封装一段代码,将来可以重复使用。

6.2 函数的定义与使用

函数的定义语法如下

函数的调用语法

示例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>函数的定义</title>
    <script>
        //无参数无返回值函数定义
        function fun1(){
            console.log('hello 函数');
        }
        fun1();
        fun1();
        //有参数函数
        function fun2(food){
            console.log('吃的是'+food);
        }
        fun2('活珠子');
        //有参数有返回值函数
        function fun3(a,b){
            return a+b;
        }
        let result =fun3(1,2);
        console.log(result);
        
    </script>
</head>
<body>
    
</body>
</html>

练习题

  1. 求1-n之间所有数的和
  2. 求1-n之间所有数的偶数
  3. 求1-n之间的平均数
<!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>练习题</title>
    <script>
		//1.求1-n之间所有数的和
        function sum01(n){
        let sum=0;                       //局部变量声明
        for (let i=1;i<=n;i++){          //初始表达式,测试表达式,改变表达式
         sum+=i;                    //将i+n的值给到sum
        }
    return sum;  
        }
        console.log(sum01(3));

		
		2.1-n之间所有数的偶数
        function sum2(n){
            let sum =0;
            for(let j=1;j<n;j++){
                if(j%2==0){
                    sum+=j;
                }
            }
            return sum;
        }
        console.log(sum2(3));

		3.1-n之间的平均数
        function sum03(n){
            return sum01(n)/n;
        }
        console.log(sum03(100));
    </script>
</head>
<body>
    
</body>
</html>

6.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>函数表达式</title>
    <script>
        //函数的另一种定义方式:函数表达式
        let fun1 =function(n){
            console.log(n);
        }
        fun1(1);
        //思考fun1 = function(n){
          //  console.log(n);
        //}
        console.log(fun1);
        // 函数是一种数据类型,是function类型。
        console.log(typeof fun1)
    </script>
</head>
<body>
    
</body>
</html>

练习题

  1. 求1-n之间所有数的和
  2. 求1-n之间所有数的偶数
  3. 求1-n之间的平均数
<!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>练习题</title>
    <script>
   		 //1. 求1-n之间所有数的和
        function sum01(n){
        let sum=0;                       //局部变量声明
        for (let i=1;i<=n;i++){          //初始表达式,测试表达式,改变表达式
         sum+=i;                    //将i+n的值给到sum
        }
    return sum;  
        }
        console.log(sum01(3));


		2.1-n之间所有数的偶数
        function sum2(n){
            let sum =0;
            for(let j=1;j<n;j++){
                if(j%2==0){
                    sum+=j;
                }
            }
            return sum;
        }
        console.log(sum2(3));

		3.1-n之间的平均数 
        function sum03(n){
            return sum01(n)/n;
        }
        console.log(sum03(100));
    </script>
</head>
<body>
    
</body>
</html>

6.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>函数的可变参数</title>
    <script>
        //可变参数的本质是数组
        function fun1(...args){
            let sum =0;
            for( let i =0;i<args.length;i++){
                sum +=args[i];
            }
            return sum;
        }
        let result = fun1(1,2,4)
        console.log(result);
    </script>
</head>
<body>
    
</body>
</html>

6.5 回调函数

在js中函数也是一种数据类型:function类型,我们看如下示例

示例:

 <!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>函数也是一种数据类型</title>
        <script>
            let method1 = function() {
                console.log("函数也是一种数据类型");
            }
            console.log(typeof method1);
        </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>回调函数</title>
    <script>
        let fun1 = function(n){
            console.log(n);
        }
        console.log(typeof fun1)
        console.log(fun1)
        //回调函数 
        let fun2 = function(fun1){
           fun1(13);
           console.log(typeof fun1); 
        }
        fun2(fun1);

        fun2(function(n){   
        })
        
    </script>
</head>
<body>
    
</body>
</html>

接下来我们探讨一个问题,变量村基本类型存的是数值,那么函数名也是数据类型,它存的是什么呢?我们看如下代码

示例:

函数名存的是什么

6.6 函数的作用域

通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突。作用域分为全局作用域、局部作用域、和块级作用域

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>作用域</title>
        <script>
            //全局作用域,可在全局范围内访问
            let a = 1;
            let method = function() {
                console.log(a);
                //局部作用域,只能在函数内部使用
                let b = 2;
                console.log(b);
            }
    
            // console.log(b);
            method();
            for (let i = 3; i <= 3; i++) {
                //块级作用域,只能在块中使用
                console.log(i);
            }
            // console.log(i);
        </script>
    </head>
    
    <body>
    
    </body>
    
    </html>

6.7 小节

  1. 函数的基本使用
  2. 函数的表达式使用
  3. 函数的可变参数
  4. 函数的回调
  5. 函数的作用域

七、数组

Array数组在js中属于js的内置对象,这个概念后面详细讲解;这里先详细学习数组的应用。

7.1 数组的基本使用

js数组和java中数组的概念差不多,这里不在过多介绍,直接通过案例演示数组的基本使用;

<!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>数组的初步认识</title>
    <script>
        //定义空数组,js中数组本质是对象,可以有方法,长度可变,类型可变
        let arr=[];
        console.log(arr.length);
        arr.push(1);
        console.log(arr);
        console.log(arr.length);
        //定义数组根据下标操作
        let arr2 =[1,2,'hello',3];
        for(let i=0;i<arr2.length;i++){
            console.log(arr2[i]);
        }
    </script>
</head>
<body>
    
</body>
</html>

7.2 数组的crud操作

数组的常用添加方法有

  • push 将一个或多个元素添加数组尾部,并返回该数组的新长度
  • unshift()将一个或多个元素添加到数组的前面,并返回该数组的新长度
  • pop()从数组中删除最后一个元素,并返回该元素的值
  • shift()从数组中删除第一个元素,并返回该元素的值
  • splice() 从指定下标开始删除,删除指定个元素
  • forEach() 遍历数组
<!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>数组的crud操作</title>
    <script>
        /*
            数组的常用添加方法有

            - push 将一个或多个元素添加数组尾部,并返回该数组的新长度
            - unshift()将一个或多个元素添加到数组的前面,并返回该数组的新长度 
            - pop()从数组中删除最后一个元素,并返回该元素的值 
            - shift()从数组中删除第一个元素,并返回该元素的值
            - splice() 从指定下标开始删除,删除指定个元素
            - forEach() 遍历数组

        */ 
        let arr =[1,2,3];
        //可以添加一个或多个数组到尾部
        arr.push('2','是对的');
        arr.push(true);
        //添加一个或多个数组到头部
        arr.unshift('uu','ddads');
        arr.unshift('flase');
        console.log(arr);
        //从数组中删除最后一个元素,并返回值
        let res =arr.pop();
        console.log(res);
        console.log(arr);
        res =arr.shift();
        console.log(arr);
        arr.splice(2,2);
        console.log(arr);
        //数组的遍历
        arr.forEach(function(value,index,arr){
            console.log(value);
            console.log(index);
            console.log(arr);
        })
        //js中可以根据需要传递少于函数定义的参数
        arr.forEach(function(value){
            console.log();value
        })
    </script>
</head>
<body>
    
</body>
</html>

7.3 数组的其他操作

数组其他常用方法

  • join()将一个数组的所有元素连接成一个字符串并返回这个字符串。
  • filter() 过滤数组中的元素,返回一个新数组。
  • map() 按照函数映射数组的每一个元素,并返回一个新的数组

示例

<!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>数组的其他方法</title>
    <script>
        let arr =[1,2,3,4,5,6,7,8,9];
        //将数组拼接成一个字符串
        let str =arr.join('-');
        console.log(str);
        //过滤出大于五的数
        let arr2= arr.filter(function(value){
            return value>5;
        })
        console.log(arr2);
        console.log(arr);
        //将数组元素扩大10倍
        let arr3 = arr.map(function(value){
            return value*10;
        })
        console.log(arr3);
        console.log(arr);
    </script>
</head>
<body>
    
</body>
</html>

7.4 小节

  1. 数组的定义
  2. 数组crud操作
  3. 数组的拼接、过滤、映射操作

八、对象

8.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>对象的创建与调用</title>
    <script>
        //创建对象
        let xiaoHong={
            username:'小红',
            sex:'女',
            eat:function(){
                console.log('吃的很多')
            }
        }
        //使用对象
        console.log(xiaoHong.username);
        console.log(xiaoHong.sex);
        xiaoHong.eat();
    </script>
</head>
<body>
    
</body>
</html>

8.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>构造函数的使用</title>
    <script>
        //定义构造函数
        function Person(id,name,sex){
            this.id=id;
            this.name=name;
            this.sex=sex;
            this.eat=function(food){
                console.log('吃的是'+food);
            }
        }
        let xiaoHong =new Person(1,'小红','女');
        console.log(xiaoHong.id,xiaoHong.name,xiaoHong.sex)
        xiaoHong.eat('ss');
        let xiaoMing =new Person(2,'小明','男');
        console.log(xiaoMing.id,xiaoMing.name,xiaoMing.sex);
        xiaoMing.eat('老八');
    </script>
</head>
<body>
    
</body>
</html>

8.3 对象的curd操作

对象的curd操作如下

<!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>对象的curd操作</title>
    <script>
        //定义构造函数
        function User(id,name,sex){
            this.id=id;
            this.name=name;
            this.sex=sex;
            this.sleep = function(){
                console.log('睡得早');
            }
        }
        //创建对象
        let user = new User (1,'张三','男');
        //添加属性
        user.age=18;
        //添加方法
        user.eat=function(){
            console.log('吃的香');
        }
        //删除属性
        delete user.name;
        //遍历
         for(key in user){
            //由于key是字符串,只能这么调用user['age']
            console.log(user[key]);
            // console.log(key);
         }
    </script>
</head>
<body>
    
</body>
</html>

8.4 小节

  1. 对象的创建与调用
  2. 构造方法的定义与调用
  3. 对象的crud操作

九、总结

  1. js五种基本数据类型
  2. 数据类型转换
  3. 运算符
  4. 流程空中管制
  5. 函数
  6. 数组
  7. 对象
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值