重学JavaWeb第三天(二)

简介: 重学JavaWeb第三天

2.9.1、while

while语句是一个最基本的循环语句,while语句也被称为while循环。

语法格式:

while(条件表达式){
    语句...
}

案例演示:输出1-10。

var i = 1;
while (i <= 10) {
    console.log(i);
    i++;
}

2.9.2、do…while

do…while和while非常类似,只不过它会在循环的尾部而不是顶部检查表达式的值,因此,do…while循环会至少执行一次。相比于while,do…while的使用情况并不 是很多。

语法格式:

do{
    语句...
}while(条件表达式);

案例演示:输出1-10。

var i = 1;
do {
    console.log(i);
    i++;
} while (i <= 10);

2.9.3、for

for语句也是循环控制语句,我们也称它为for循环。大部分循环都会有一个计数器用以控制循环执行的次数, 计数器的三个关键操作是初始化、检测和更新。for语句 就将这三步操作明确为了语法的一部分。

语法格式:

for(初始化表达式 ; 条件表达式 ; 更新表达式){
    语句...
}

案例演示:输出1-10。

for (var i = 1; i <= 10; i++) {
    console.log(i);
}

2.9.4、跳转控制

  • break:结束最近的一次循环,可以在循环和switch语句中使用。
  • continue:结那如果我们想要跳出多层循环或者跳到指定位置该怎么办呢?可以为循环语句创建一个label,来标识当前的循环,如下例子:


outer: for (var i = 0; i < 10; i++) {
    for (var j = 0; j < 10; j++) {
        if (j == 5) {
            break outer;
        }
        console.log(j);
    }
}

2.10、对象基础

2.10.1、概述

Object类型,我们也称为一个对象,是JavaScript中的引用数据类型。它是一种复合值,它将很多值聚合到一起,可以通过名字访问这些值。对象也可以看做是属性的无序集合,每个属性都是一个名/值对。对象除了可以创建自有属性,还可以通过从一个名为原型的对象那里继承属性。除了字符串、数字、true、false、null和undefined之外,JavaScript中的值都是对象。

2.10.2、创建对象

创建对象有两种方式:

  • 第一种方式:
var person = new Object();
person.name = "孙悟空";
person.age = 18;
console.log(person);

第二种方式:

var person = {
    name: "孙悟空",
    age: 18
};
console.log(person);

2.10.3、访问属性

访问属性的两种方式:

  • 第一种方式:使用 . 来访问
对象.属性名

第二种方式:使用 [] 来访问

对象[‘属性名’]


案例演示:

var person = new Object();
person.name = "孙悟空";
person.age = 18;
console.log(person);
delete person.name
console.log(person);

2.10.5、遍历对象

枚举遍历对象中的属性,可以使用for … in语句循环,对象中有几个属性,循环体就会执行几次。

语法格式:

for (var 变量 in 对象) {
}

案例演示:

var person = {
    name: "zhangsan",
    age: 18
}
for (var personKey in person) {
    var personVal = person[personKey];
    console.log(personKey + ":" + personVal);
}

2.10.6、数据类型梳理

2.10.6.1、基本数据类型


JavaScript中的变量可能包含两种不同数据类型的值:基本数据类型和引用数据类型。


JavaScript中一共有5种基本数据类型:String、Number、 Boolean、Undefined、Null。


基本数据类型的值是无法修改的,是不可变的。


基本数据类型的比较是值的比较,也就是只要两个变量的值相等,我们就认为这两个变量相等。


2.10.6.2、引用数据类型

引用类型的值是保存在内存中的对象。


当一个变量是一个对象时,实际上变量中保存的并不是对象本身,而是对象的引用。


当从一个变量向另一个变量复制引用类型的值时,会将对象的引用复制到变量中,并不是创建一个新的对象。


这时,两个变量指向的是同一个对象。因此,改变其中一个变量会影响另一个。


2.10.7、栈和堆梳理


JavaScript在运行时数据是保存到栈内存和堆内存当中的。


简单来说栈内存用来保存变量和基本类型,堆内存是用来保存对象。


我们在声明一个变量时,实际上就是在栈内存中创建了一个空间用来保存变量。


如果是基本类型则在栈内存中直接保存,如果是引用类型则会在堆内存中保存,变量中保存的实际上对象在堆内存中的地址。


当我们写了下边这几句代码的时候,栈内存和堆内存的结构如下:

var a = 123;
var b = true;
var c = "hello";
var d = {name: 'sunwukong', age: 18};
1234

栈的特点:先进后出,后进先出


48487fd2d563e9a30beaf4fe8273285f.png

2.11、函数

2.11.1、概述

函数是由一连串的子程序(语句的集合)所组成的,可以被外部程序调用,向函数传递参数之后,函数可以返回一定的值。

通常情况下,JavaScript代码是自上而下执行的,不过函数体内部的代码则不是这样。如果只是对函数进行了声明,其中的代码并不会执行,只有在调用函数时才会执行函数体内部的代码。


这里要注意的是JavaScript中的函数也是一个对象,使用typeof检查一个函数对象时,会返回function。


2.11.2、函数创建

  • 使用 函数对象 来创建一个函数(几乎不用)
    语法格式:
var 函数名 = new Function("执行语句");


示例代码:

var fun = new Function("console.log('这是我的第一个函数');");

使用 函数声明 来创建一个函数(比较常用)

语法格式:

function 函数名([形参1,形参2,...,形参N]) {
    语句...
}

示例代码:

function fun(){
    console.log("这是我的第二个函数");
}


使用 函数表达式 来创建一个函数(比较常用)

语法格式:

var 函数名  = function([形参1,形参2,...,形参N]) {
    语句....
}

示例代码:

var fun  = function() {
    console.log("这是我的第三个函数");
}


目录
相关文章
|
6月前
|
存储 前端开发 JavaScript
基于JavaWeb实现停车场管理系统
基于JavaWeb实现停车场管理系统
114 1
|
6月前
|
前端开发 JavaScript Java
图书借阅管理平台|基于JavaWeb实现图书借阅系统
图书借阅管理平台|基于JavaWeb实现图书借阅系统
142 1
|
3月前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
494 37
|
2月前
|
前端开发 Java 应用服务中间件
Javaweb学习
【10月更文挑战第1天】Javaweb学习
39 2
|
2月前
|
安全 Java Android开发
JavaWeb解压缩漏洞之ZipSlip与Zip炸弹
JavaWeb解压缩漏洞之ZipSlip与Zip炸弹
76 5
|
6月前
|
前端开发 Java 关系型数据库
JavaWeb开发简介
JavaWeb开发简介
65 0
|
3月前
|
缓存 前端开发 Java
【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)
Soring Boot的起步依赖、启动流程、自动装配、常用的注解、Spring MVC的执行流程、对MVC的理解、RestFull风格、为什么service层要写接口、MyBatis的缓存机制、$和#有什么区别、resultType和resultMap区别、cookie和session的区别是什么?session的工作原理
|
3月前
|
安全 Java Android开发
JavaWeb解压缩漏洞之ZipSlip与Zip炸弹
JavaWeb解压缩漏洞之ZipSlip与Zip炸弹
129 2
|
3月前
|
SQL JSON JavaScript
JavaWeb基础9——VUE,Element&整合Javaweb的商品管理系统
Vue 指令、生命周期、this和$、vue脚手架进行模块化开发/ElementUI框架、综合案例,element商品列表展示增删改查
JavaWeb基础9——VUE,Element&整合Javaweb的商品管理系统
|
6月前
|
SQL Java 数据库连接
JavaWeb Mapper代理开发
JavaWeb Mapper代理开发