JavaScript 知识点(从基础到进阶)

2024-09-07 21:52

本文主要是介绍JavaScript 知识点(从基础到进阶),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

   🌏个人博客主页:心.c

前言:JavaScript已经学完了,和大家分享一下我的笔记,希望大家可以有所收获,花不多说,开干!!!

🔥🔥🔥专题文章:密码生成器

😽感谢大家的点赞👍收藏⭐️评论✍您的一键三连是我更新的动力 💓 

目录

js的三种书写方式:

行内:

内部:

外部:

js的输入输出:

输入语法:

输入语法:

注释:

变量:

数组:

定义数组:

数组的增删改查:

数据类型:

基本数据类型:

引用数据类型:

 数据转换:

隐式转换:

显示转换:

运算符:

算数运算符:

比较运算符:

逻辑运算符: 

一元运算符:

函数:

函数声明:

函数表达式:

立即执行表达式:

箭头函数:

对象:

对象的创建:

对象增删改查: 



js的三种书写方式:

行内:
<body><button onclick="alert('行内')"></button>
</body>
内部:
<body><script>alert('内部')</script>
</body>
外部:

外部js标签中间不能书写东西

<body><!-- 引用外部js --><script src="./01.js.html"></script>
</body>

js的输入输出:

输入语法:

页面打印:

document.write('页面打印')

控制台打印:

console.log('控制台打印')

弹出界面:

  console.log('控制台打印')

 

输入语法:
 prompt('请输入信息')

注释:

单行注释:

//我是单行注释

多行注释:

/*我是多行注释*/

变量:

变量是用来储存数据的容器,简单理解就是一个盒子

    //声明并赋值一个年龄变量let age=18//输出alert(age)
    //声明一个年龄变量let age//赋值age = 18//输出alert(age)

数组:

定义数组:
let arr = [1, 2, 3, 4, 5];
console.log(arr); // 输出 [1, 2, 3, 4, 5]
数组的增删改查:

增加元素:

push ( )  向数组的末尾添加一个或多个元素

const arr = [1, 2, 3];
arr.push(4);
console.log(arr); // 输出 [1, 2, 3, 4]

unshift ( ) 向数组的开头添加一个或多个元素

const arr = [1, 2, 3];
arr.unshift(0);
console.log(arr); // 输出 [0, 1, 2, 3]

splice ( ) 可以在任意位置插入元素,并且可以同时删除元素。

const arr = [1, 2, 3];
arr.splice(1, 0, 1.5); // 在索引1的位置插入1.5
console.log(arr); // 输出 [1, 1.5, 2, 3]

删除元素:

pop()从数组的末尾移除一个元素,并返回该元素

const arr = [1, 2, 3];
const removed = arr.pop();
console.log(arr); // 输出 [1, 2]
console.log(removed); // 输出 3

shift()从数组的开头移除一个元素,并返回该元素。

const arr = [1, 2, 3];
const removed = arr.shift();
console.log(arr); // 输出 [2, 3]
console.log(removed); // 输出 1
splice()可以从数组中删除元素,并且可以同时插入元素。
const arr = [1, 2, 3, 4, 5];
arr.splice(1, 2); // 从索引1开始删除2个元素
console.log(arr); // 输出 [1, 4, 5]

修改元素:

可以直接通过索引访问和修改数组中的元素

const arr = [1, 2, 3];
arr[1] = 2.5;
console.log(arr); // 输出 [1, 2.5, 3]

查询元素:

返回数组中某个元素第一次出现的位置索引,如果不存在则返回-1

const arr = [1, 2, 3, 2, 4];
const index = arr.indexOf(2);
console.log(index); // 输出 1

数据类型:

基本数据类型:

基本数据类型是值类型,它们直接存储在栈内存中,而不是通过引用访问。当赋值给另一个变量时,复制的是具体的值,而不是引用。

1.number

表示数值,包括整数和浮点数。

let num = 42;

2.string

表示文本字符串。

let str = "Hello, world!";

3.boolean

表示逻辑值,只有truefalse两个值

let flag = true;

4.undifined

表示尚未赋值的变量或函数返回的未定义值。

let x;
console.log(x); // 输出 undefined

5.null

表示空值或空对象指针。

let nothing = null;
引用数据类型:

1.对象

对象是键值对的集合,是最常用的复合数据类型之一。对象可以包含属性(键值对)和方法(函数)。

let person = {name: "Alice",age: 30,sayHello: function() {console.log("Hello, my name is " + this.name);}
};

2.数组

数组是一种特殊的对象,用于存储有序的元素列表。数组的元素可以是任何类型的数据。

let numbers = [1, 2, 3, 4, 5];
let mixed = ["apple", 42, true, {name: "Alice"}];console.log(numbers[0]); // 输出 1
console.log(mixed[3].name); // 输出 "Alice"

3.函数

函数也是一种对象,可以作为值进行传递,并且可以作为对象的属性或方法。

function greet(name) {console.log("Hello, " + name + "!");
}

 数据转换:

隐式转换:
    console.log(11 + 11)  //numberconsole.log('11' + 11) //stringconsole.log('111') //stringconsole.log(+'123') //numberconsole.log(+'123' + 132) //number
显示转换:
      let str = '123'let num = Number(str) //numberlet num1 = +str //number
      let num = 123let str = String(num) //stringlet str1 = num.toStrign() //string

运算符:

算数运算符:
运算符描述示例
+加法5 + 3
-减法5 - 3
*乘法5 * 3
/除法5 / 3
%取模(求余数)5 % 3
**幂运算(次方)2 ** 3
比较运算符:
运算符描述示例
==等于(值相等即可)5 == "5"
===严格等于(值和类型都相等)5 === "5"
!=不等于5 != 3
!==严格不等于5 !== "5"
<小于5 < 3
>大于5 > 3
<=小于等于5 <= 5
>=大于等于5 >= 5
逻辑运算符: 
运算符描述示例
&&逻辑与(AND)true && false
||逻辑或(OR)true && false
!逻辑非(NOT)!true
一元运算符:
++前置/后置自增++x 或 x++
--前置/后置自减--x 或 x--
+正号(强制转换为数字)+5
-负号(取反)-5
!逻辑非!true
typeof获取变量的类型typeof x
delete删除对象的属性delete obj.prop

函数:

函数声明:
function greet(name) {console.log("Hello, " + name + "!");
}
函数表达式:
const greet = function(name) {console.log("Hello, " + name + "!");
};
立即执行表达式:
(function(name) {console.log("Hello, " + name + "!");
})("Charlie");

箭头函数:
const greet = (name) => {console.log("Hello, " + name + "!");
};

对象:

对象的创建:

使用字面量方式创建:

    //定义对象let obj = {name: '阿伟',age: 12,phone: 12323232323}console.log(obj)

使用构造函数创建

const person = new Object();
2person.name = "Bob";
3person.age = 25;
对象增删改查: 

增加属性:

使用标点:

const person = {};
person.name = "Alice";
person.age = 30;

使用括号:

const person = {};
person["name"] = "Alice";
person["age"] = 30;

修改属性:

const person = {name: "Alice",age: 30
};person.age = 31;

删除属性:

const person = {name: "Alice",age: 30
};delete person.age;

查找对象属性:

const person = {name: "Alice",age: 30
};const keys = Object.keys(person);
console.log(keys); // 输出 ["name", "age"]
const person = {name: "Alice",age: 30
};const values = Object.values(person);
console.log(values); // 输出 ["Alice", 30]
const person = {name: "Alice",age: 30
};const entries = Object.entries(person);
console.log(entries); // 输出 [["name", "Alice"], ["age", 30]]

遍历对象: 

const person = {name: "Alice",age: 30,city: "New York"
};for (const key in person) {if (person.hasOwnProperty(key)) {console.log(`${key}: ${person[key]}`);}
}
// 输出
// name: Alice
// age: 30
// city: New York

到这里就讲完了,感谢大家的观看!!!

这篇关于JavaScript 知识点(从基础到进阶)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1146268

相关文章

Java方法重载与重写之同名方法的双面魔法(最新整理)

《Java方法重载与重写之同名方法的双面魔法(最新整理)》文章介绍了Java中的方法重载Overloading和方法重写Overriding的区别联系,方法重载是指在同一个类中,允许存在多个方法名相同... 目录Java方法重载与重写:同名方法的双面魔法方法重载(Overloading):同门师兄弟的不同绝

Spring配置扩展之JavaConfig的使用小结

《Spring配置扩展之JavaConfig的使用小结》JavaConfig是Spring框架中基于纯Java代码的配置方式,用于替代传统的XML配置,通过注解(如@Bean)定义Spring容器的组... 目录JavaConfig 的概念什么是JavaConfig?为什么使用 JavaConfig?Jav

Java数组动态扩容的实现示例

《Java数组动态扩容的实现示例》本文主要介绍了Java数组动态扩容的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1 问题2 方法3 结语1 问题实现动态的给数组添加元素效果,实现对数组扩容,原始数组使用静态分配

Java中ArrayList与顺序表示例详解

《Java中ArrayList与顺序表示例详解》顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构,:本文主要介绍Java中ArrayList与... 目录前言一、Java集合框架核心接口与分类ArrayList二、顺序表数据结构中的顺序表三、常用代码手动

JAVA项目swing转javafx语法规则以及示例代码

《JAVA项目swing转javafx语法规则以及示例代码》:本文主要介绍JAVA项目swing转javafx语法规则以及示例代码的相关资料,文中详细讲解了主类继承、窗口创建、布局管理、控件替换、... 目录最常用的“一行换一行”速查表(直接全局替换)实际转换示例(JFramejs → JavaFX)迁移建

Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

《SpringBootInterceptor的原理、配置、顺序控制及与Filter的关键区别对比分析》本文主要介绍了SpringBoot中的拦截器(Interceptor)及其与过滤器(Filt... 目录前言一、核心功能二、拦截器的实现2.1 定义自定义拦截器2.2 注册拦截器三、多拦截器的执行顺序四、过

JAVA线程的周期及调度机制详解

《JAVA线程的周期及调度机制详解》Java线程的生命周期包括NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING和TERMINATED,线程调度依赖操作系统,采用抢占... 目录Java线程的生命周期线程状态转换示例代码JAVA线程调度机制优先级设置示例注意事项JAVA线程

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

Java使用Spire.Doc for Java实现Word自动化插入图片

《Java使用Spire.DocforJava实现Word自动化插入图片》在日常工作中,Word文档是不可或缺的工具,而图片作为信息传达的重要载体,其在文档中的插入与布局显得尤为关键,下面我们就来... 目录1. Spire.Doc for Java库介绍与安装2. 使用特定的环绕方式插入图片3. 在指定位

springboot的controller中如何获取applicatim.yml的配置值

《springboot的controller中如何获取applicatim.yml的配置值》本文介绍了在SpringBoot的Controller中获取application.yml配置值的四种方式,... 目录1. 使用@Value注解(最常用)application.yml 配置Controller 中