学习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 ...
随机推荐
- EF Core连接PostgreSQL数据库
PostgreSQL数据库介绍 PostgreSQL是一个功能强大的开源对象关系型数据库管理系统(RDBMS).最初于1986年在加州大学伯克利分校的POSTGRES项目中诞生,PostgreSQL以 ...
- udp协议实现组播功能
/*************************************************************************************************** ...
- 实体类如何"不费力气"的转为Map
初衷: db返回了一个实体类,想封装成一个Map留着按需获取属性,所以就有了下面的Utils import java.lang.reflect.InvocationTargetException; i ...
- 使用FModel提取黑神话悟空的资产
目录 前言 设置 效果展示 闲聊 可能遇到的问题 没有相应的UE引擎版本选项 前言 黑神话悟空昨天上线了,解个包looklook. 本文内容比较简洁,仅介绍解包黑神话所需的专项配置,关于FModel的 ...
- CF1693D--单调区间
\(T_4\) 单调区间结题报告 题目描述 一句话题意:给定一个排列 \(a\) 算出有多少个区间 \([l , r]\) , 满足其可以划分为一个单调递增子序列和单调递减子序列,其中单调递增子序列长 ...
- 基于python的文字转图片工具
地址 https://hub.docker.com/r/rainsccc/strtoimg 拉取镜像后,可以启动一个容器来运行该应用程序.以下命令会启动容器并将其端口映射到主机上: docker ru ...
- 使用了 sudo 却依然显示权限不够的原因
$ sudo echo "151.101.76.133 raw.githubusercontent.com" >> /etc/hosts bash: /etc/host ...
- Mono 现状与未来:从Wine-mono 到.NET 9
Mono 官网主页[1]和 Mono GitHub 页面今日发布公告[2],微软宣布将 Mono 项目移交给 WineHQ 组织,也就是 Linux 兼容 Windows 应用框架 Wine 的开发团 ...
- SpringBoot定时任务实现数据同步
业务的需求是,通过中台调用api接口获得,设备数据,要求现实设备数据的同步. 方案一:通过轮询接口的方式执行 pullData() 方法实现数据同步 该方式的原理是先清空之前的所有数据,然后重新插入通 ...
- 数据结构 - 关键路径(AOE)
数据结构 - 关键路径求解