学习JavaScript第三天
1.数组
在JavaScript中,数组是一种非常灵活的数据结构,用于存储多个值。数组可以包含任何类型的数据,包括数字、字符串、对象甚至其他数组(也就是多维数组)。JavaScript中的数组是动态的,这意味着它们的大小可以随时改变。
1.1创建数组
- 数组字面量
let arr = [1,2,3,4,5]
- Array构造函数:
let fruits = new Array("Apple", "Banana", "Cherry");
- Array.of():
let fruits = Array.of("Apple", "Banana", "Cherry");
- Array.from():
let arrayLike = {0: "Apple", 1: "Banana", 2: "Cherry", length: 3}
1.2数组方法
JavaScript数组提供了许多内置方法,用于操作数组。以下是一些常用的数组方法:
- push() 和 pop():
push():在数组末尾添加一个或多个元素,并返回新数组的长度。pop():移除数组的最后一个元素,并返回被移除的元素。
let fruits = ["Apple", "Banana"];
fruits.push("Cherry");
console.log(fruits); // 输出 ["Apple", "Banana", "Cherry"]
let removed = fruits.pop();
console.log(fruits); // 输出 ["Apple", "Banana"]
console.log(removed); // 输出 "Cherry"
- unshift() 和 shift():
- unshift():在数组的开头添加一个或多个元素,并返回新数组的长度。
- shift():移除数组的第一个元素,并返回被移除的元素。
let fruits = ["Banana", "Cherry"];
fruits.unshift("Apple");
console.log(fruits); // 输出 ["Apple", "Banana", "Cherry"]
let removed = fruits.shift();
console.log(fruits); // 输出 ["Banana", "Cherry"]
console.log(removed); // 输出 "Apple"
1.3数组遍历
你可以使用多种方式遍历数组:
- for循环:
let fruits = ["Apple", "Banana", "Cherry"];
for (let i = 0; i < fruits.length; i++) {
console.log(fruits[i]);
}
- forEach()
let fruits = ["Apple", "Banana", "Cherry"];
fruits.forEach(fruit => {
console.log(fruit);
});
- for … of循环:
let fruits = ["Apple", "Banana", "Cherry"];
for (let fruit of fruits) {
console.log(fruit);
}
2.函数
JavaScript中的函数是一段可以被重复调用的代码块。函数允许你组织代码,使其更加模块化和可重用。以下是JavaScript函数的一些基本概念和用法。
2.1函数的定义
function functionName(parameters) {
// 代码
}
2.2函数的参数以及返回值
function calculateSquare(number) {
return number * number;
}
console.log(calculateSquare(5)); // 输出 25
2.3函数的作用域
函数有自己的作用域,这意味着在函数内部声明的变量在函数外部是不可见的。
2.4函数传参
function doSomethingWith(value, callback) {
return callback(value);
}
function square(x) {
return x * x;
}
console.log(doSomethingWith(4, square)); // 输出 16
3.对象
什么是对象?
- 在 JavaScript 中,对象是一组无序的相关属性和方法的集合,所有的事物都是对象,例如字符串、数值、数组、函数等。 对象是由属性和方法组成的。
- 属性:事物的特征,在对象中用属性来表示(常用名词)
- 方法:事物的行为,在对象中用方法来表示(常用动词)
创建对象的三种方式:
- 使用对象字面量创建对象:
var star = {
name : 'pink',
age : 18,
sex : '男',
sayHi : function(){
alert('大家好啊~');
}
};
- 利用 new Object 创建对象:
var andy = new Obect();
andy.name = 'pink';
andy.age = 18;
andy.sex = '男';
andy.sayHi = function(){
alert('大家好啊~');
- 利用构造函数创建对象
构造函数
构造函数:是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋初始值,它总与 new
运算符一起使用。我们可以把对象中一些公共的属性和方法抽取出来,然后封装到这个函数里面。
构造函数的封装格式:
function 构造函数名(形参1,形参2,形参3) {
this.属性名1 = 参数1;
this.属性名2 = 参数2;
this.属性名3 = 参数3;
this.方法名 = 函数体;
}
学习JavaScript第三天的更多相关文章
- 学习javascript数据结构(三)——集合
前言 总括: 本文讲解了数据结构中的[集合]概念,并使用javascript实现了集合. 原文博客地址:学习javascript数据结构(三)--集合 知乎专栏&&简书专题:前端进击者 ...
- 学习 JavaScript (三)核心概念:语法、变量、数据类型
JavaScript 的核心概念主要由语法.变量.数据类型.操作符.语句.函数组成,这篇文章主要讲解的是前面三个,后面三个下一篇文章再讲解. 01 语法 熟悉 JavaScript 历史的人应该都知道 ...
- 学习JavaScript第三周
字符串的遍历,字符串虽是简单数据类型却有对应的属性和方法,这是因为字符串是包装类型(当然布尔类型和数字类型也是包装类型),临时具有对象的属性和方法,在使用完后就会释放对象. 简单的淡入淡出的轮播图,原 ...
- 学习javascript数据结构(二)——链表
前言 人生总是直向前行走,从不留下什么. 原文地址:学习javascript数据结构(二)--链表 博主博客地址:Damonare的个人博客 正文 链表简介 上一篇博客-学习javascript数据结 ...
- 学习javascript数据结构(四)——树
前言 总括: 本文讲解了数据结构中的[树]的概念,尽可能通俗易懂的解释树这种数据结构的概念,使用javascript实现了树,如有纰漏,欢迎批评指正. 原文博客地址:学习javascript数据结构( ...
- (转)轻松学习JavaScript三:JavaScript与HTML的结合
摘自:http://blog.csdn.net/erlian1992 HTML中的JavaScript脚本必须位于<script>与</script>标签之间,JavaScri ...
- 前端资讯周报 3.6 - 3.12: 对学习Javascript最有帮助的三本书,以及HTML标题的迷思
每周一我都会分享上一周我订阅的技术站点中,和解决问题的过程中阅读到的值得分享的文章. 毕竟个人的阅读量有限,也欢迎大家留言或者私信给我你们阅读到的,对你们前端技术有帮助的任何内容,题材不限,语言不限. ...
- ife task0003学习笔记(三):JavaScript闭包
一.this易错分析 在学习闭包的时候,有一个概念this很重要,关于this的理解,下面3种情况:this指向谁? fn.call(obj1); obj2.fn() fn() 答案是obj1 obj ...
- 重读《学习JavaScript数据结构与算法-第三版》-第2章 ECMAScript与TypeScript概述
定场诗 八月中秋白露,路上行人凄凉: 小桥流水桂花香,日夜千思万想. 心中不得宁静,清早览罢文章, 十年寒苦在书房,方显才高志广. 前言 洛伊安妮·格罗纳女士所著的<学习JavaScript数据 ...
- 重读《学习JavaScript数据结构与算法-第三版》- 第3章 数组(一)
定场诗 大将生来胆气豪,腰横秋水雁翎刀. 风吹鼍鼓山河动,电闪旌旗日月高. 天上麒麟原有种,穴中蝼蚁岂能逃. 太平待诏归来日,朕与先生解战袍. 此处应该有掌声... 前言 读<学习JavaScr ...
随机推荐
- [POI2015] POD 题解
前言 题目链接:洛谷. 题意简述 长度为 \(n\) 的一串项链,每颗珠子是 \(k\) 种颜色之一.第 \(i\) 颗与第 \(i-1, i+1\) 颗珠子相邻,第 \(n\) 颗与第 \(1\) ...
- 运行 Java 程序
Java 程序实际上就是我们编译好的 Java 类文件.运行 Java 程序就是运行 Java 类的 main 函数. 编译并运行 Java 文件 源文件: package com.example; ...
- 二. Spring Boot 中的 “依赖管理和自动配置” 详解透彻到底(附+详细代码流程)
二. Spring Boot 中的 "依赖管理和自动配置" 详解透彻到底(附+详细代码流程) @ 目录 二. Spring Boot 中的 "依赖管理和自动配置" ...
- springCloud allibaba 微服务引言
微服务篇: springcloud 常见组件有哪些 nacos 的服务注册表结构是怎样的 nacos 如何支撑阿里内部数十万服务注册压力 nacos 如何避免并发读写冲突问题 nacos 和eurek ...
- 一文看懂global, nonlocal, local变量
Python中,变量是根据程序运行顺序进行的,比如函数外的变量,在函数内是可见的,但是可用,不可赋值.那么如何实现赋值呢? 利用global关键字进行. 在函数内,如果出现和函数外的变量同名变量,而且 ...
- SQL SEVER CDC 启动和关闭 操作说明
什么是变更数据捕获 (CDC)? 变更数据捕获使用 SQL Server 代理记录表中发生的插入.更新及删除. 因此,它使得可以通过关系格式轻松使用这些数据更改. 将为修改的行捕获将这些更改数据应用到 ...
- SimCLR: 一种视觉表征对比学习的简单框架《A Simple Framework for Contrastive Learning of Visual Representations》(对比学习、数据增强算子组合,二次增强、投影头、实验细节很nice),好文章,值得反复看
现在是2024年5月18日,好久没好好地看论文了,最近在学在写代码+各种乱七八糟的事情,感觉要和学术前沿脱轨了(虽然本身也没在轨道上,太菜了),今天把师兄推荐的一个框架的论文看看(视觉CV领域的). ...
- Angular Material 18+ 高级教程 – Custom Themes for Material Design 3 (自定义主题 Material 3)
v18 更新重要说明 从 Angular Material v18 开始,默认使用的是 Material 3 Design (简称 M3). 而且是正式版,不再是 experimental previ ...
- OData – Query to Expression
前言 EF Core 可以把 expression 转换成 string, 但没办法转回来. 想把 string 转成 expression, 目前最合适的工具是 OData. 虽然 Dynamic ...
- Blazor静态服务端呈现(静态SSR)身份认证
本文介绍 Blazor 静态服务端呈现(静态 SSR)模式下,用户登录身份认证是如何实现的. 1. SSR 简介 SSR 是服务器侧呈现,HTML 是由服务器上的 ASP.NET Core 运行时生成 ...