快速熟悉JavaScript

目录

1.js的基本认知

2.js的基本语法

 2.1 变量的声明

三个关键字的区别

2.2数据类型

2.2.1 基本数据类型

2.2.2 复杂数据类型

2.3对象的属性和方法

2.3.1属性

2.3.2访问方式

2.4.3动态操作

 2.4.4方法

2.4字符串的常用属性和方法

2.5运算符

2.6逻辑控制语句

2.7函数

2.7.1 系统函数

2.7.2 自定义函数

2.8页面中的事件

3.BOM的常用对象和方法

3.1浏览器对象

 3.1.1常用属性

3.1.2常用方法

 3.2 history对象

3.3 location对象

3.4 document对象 

3.5内置对象

3.5.1 Date对象

3.5.2 Math对象


以下JavaScript简称 js

推荐js的网站:

MDN Web Docs

1.js的基本认知

  1. js和java没有任何关系,不要混淆二者
  2. js是一种脚本语言,主要用于向HTML页面(网页)添加交互行为
  3. js分为三部分 ECMAScript 、 BOM 、 DOM
    • ECMAScript描述了一些内容
      • 语法
      • 变量和数据类型
      • 运算符
      • 逻辑控制语句
      • 关键字、保留字
      • 对象
    • BOM 浏览器对象模型,提供了与浏览器窗口进行交互的对象
    • DOM 文档对象模型,用来访问和操纵HTML文档
  4. DOM是BOM的子对象
  5. 使用js有三种方式 内部js 外部js 直接在HTML中
    • 内部js

              2.外部js

              3.直接在HTML中

2.js的基本语法

 2.1 变量的声明

        三个关键字 var 、let 、const

  • var a=5;
  • let b=5;
  • const c=5;

三个关键字的区别

2.2数据类型

可以用 typeof(变量名)  查看变量类型

2.2.1 基本数据类型

  • undefined (未定义类型)
  • null (空类型)
  • number(数值类型)
  • bollean (布尔类型)

2.2.2 复杂数据类型

  • object (对象)
  • string (字符串类型)

2.3对象的属性和方法

2.3.1属性

        属性是对象的键值对,键(属性名)为字符串或 Symbol,值为任意类型(原始值、对象、函数等)

let person = {name: '小明',      // 字符串属性age: 18,           // 数值属性address: {         // 嵌套对象属性city: '北京'}
};

2.3.2访问方式

  • 点语法object.property(适用于普通属性名)。
  • 方括号语法object["property"](适用于含空格、连字符的属性名或动态属性)
console.log(person.name);         // "小明"
console.log(person["age"]);       // 18
console.log(person.address.city); // "北京"

2.4.3动态操作

  • 添加属性:通过赋值直接添加新属性。
    person.gender = '男'; // 添加 gender 属性
  • 删除属性:使用 delete 操作符,仅能删除自有属性(非继承属性)
delete person.age; // 删除 age 属性

 2.4.4方法

方法是值为函数的属性,用于描述对象的行为

let calculator = {add: function(a, b) {return a + b;},multiply(a, b) { // ES6 简写语法return a * b;}
};
console.log(calculator.add(2, 3)); // 5

2.4字符串的常用属性和方法

 2.5数组常用的对象和方法

2.5运算符

类别运算符号
算术运算符+、-、*、/、%、++、--
比较运算符      >、< 、>= 、<= 、== 、!= 、===、!==
逻辑运算符&& 、|| 、!
赋值运算符=、+=、-=

2.6逻辑控制语句

  • 条件结构    if结构   switch结构
  • 循环结构    for 、for..in 、while、do...while
  • 中断循环    break 、continue

2.7函数

2.7.1 系统函数

parseInt 、parseFloat 、isNAN

2.7.2 自定义函数

  • 函数声明
function add(a, b) {return a + b;
}
  • 函数表达式
const multiply = function(a, b) {return a * b;
};
  • 箭头函数
    const square = x => x * x;

2.8页面中的事件

3.BOM的常用对象和方法

3.1浏览器对象

 3.1.1常用属性

名称说明
history有关用户访问过的url信息
location有关当前url的信息

3.1.2常用方法

 3.2 history对象

3.3 location对象

  • 属性

  • 方法

3.4 document对象 

  • 属性

  • 方法 
方法语法示例描述
getElementById()document.getElementById('id')通过元素 ID 获取单个元素,ID 唯一。
getElementsByTagName()document.getElementsByTagName('div')通过标签名获取元素集合(如所有 <div>
getElementsByClassName()document.getElementsByClassName('cls')通过类名获取元素集合,支持多类名(空格分隔)
getElementsByName()document.getElementsByName('name')通过 name 属性获取元素集合(常用于表单元素)
querySelector()document.querySelector('.class')通过 CSS 选择器获取第一个匹配元素(如 .class#id 或复合选择器)
querySelectorAll()document.querySelectorAll('p.cls')通过 CSS 选择器获取所有匹配元素的静态列表。

3.5内置对象

内置对象有Array 、String 、Math 、Date

tips: Math对象是js的一个全局对象,不需要示例

3.5.1 Date对象

3.5.2 Math对象

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/28823.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在 Windows 上最快速安装 Qt 5

引言 Qt 是一个强大的跨平台 C 开发框架&#xff0c;广泛应用于 GUI 开发、嵌入式系统和工业软件等领域。然而&#xff0c;许多开发者习惯于在 Linux&#xff08;如 Ubuntu&#xff09;环境下使用 Qt&#xff0c;而在 Windows 上搭建 Qt 开发环境时可能会遇到许多问题&#xf…

二、QT和驱动模块实现智能家居-----5、通过QT控制LED

在QT界面&#xff0c;我们要实现点击“LED”按钮就可以控制板子上的LED。LED接线图如下&#xff1a; 在Linux 系统里&#xff0c;我们可以使用2种方法去操作上面的LED&#xff1a; ① 使用GPIO SYSFS系统&#xff1a;这需要一定的硬件知识&#xff0c;需要设置引脚的方向、数值…

threejs:用着色器给模型添加光带扫描效果

第一步&#xff1a;给模型添加光带 首先创建一个立方体&#xff0c;不进行任何缩放平移操作&#xff0c;也不要set position。 基础代码如下&#xff1a; 在顶点着色器代码里varying vec3 vPosition;vPosition position;获得threejs自动计算的顶点坐标插值&#xff08;也就…

高频 SQL 50 题(基础版)_1141. 查询近30天活跃用户数

1141. 查询近30天活跃用户数 select activity_date day,count(distinct user_id) active_users from Activity where (activity_date<2019-07-27 and activity_date>DATE_sub(2019-07-27,INTERVAL 30 DAY)) group by(activity_date)

【Zinx】Day1:初识 Zinx 框架

目录 学习目标初识 Zinx 框架Zinx v0.2 代码实现准备工作创建 Zinx 框架创建 ziface 与 znet 模块 基础的 Server 实现在 ziface 下创建服务模块抽象层 iserver.go在 znet 下实现服务模块 server.go 封装 Connection在 ziface 创建 iconnection.go在 znet 创建 connection.go 回…

音频3A测试--AEC(回声消除)测试

一、测试前期准备 一台录制电脑:用于作为近段音源和收集远端处理后的数据; 一台测试设备B:用于测试AEC的设备; 一个高保真音响:用于播放设备B的讲话; 一台播放电脑:用于模拟设备A讲话,和模拟设备B讲话; 一台音频处理器(调音台):用于录制和播放数据; 测试使用转接线若…

项目准备(flask+pyhon+MachineLearning)- 2

目录 1. 注册页面的渲染 2.邮箱的注册验证 3.登录页面的渲染 1. 注册页面的渲染 使用render_template来渲染&#xff0c;注意这里的前端网页使用jinja2模板 详情大家可以参考jinja2介绍 注意每个网页上方都有导航条&#xff0c;大家可以使用jinja2的继承功能&#xff0c;写一…

unity调用本地部署deepseek全流程

unity调用本地部署deepseek全流程 deepseek本地部署 安装Ollama 搜索并打开Ollama官网[Ollama](https://ollama.com/download) 点击Download下载对应版本 下载后点击直接安装 安装deepseek大语言模型 官网选择Models 选择deepseek-r1&#xff0c;选择对应的模型&#xff0…

跨域问题解释及前后端解决方案(SpringBoot)

一、问题引出 有时,控制台出现如下问题。 二、为什么会有跨域 2.1浏览器同源策略 浏览器的同源策略 &#xff08; Same-origin policy &#xff09;是一种重要的安全机制&#xff0c;用于限制一个源&#xff08; origin &#xff09;的文档或 脚本如何与另一个源的资源进行…

DeepSeek大模型深度解析:架构、技术与应用全景

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。https://www.captainbed.cn/north 文章目录 一、大模型时代与DeepSeek的定位1.1 大模型发展历程回顾大模型发展历程时间轴&#xff08;20…

李宏毅机器学习课程学习笔记04 | 浅谈机器学习-宝可梦、数码宝贝分类器

文章目录 案例&#xff1a;宝可梦、数码宝贝分类器第一步&#xff1a;需要定义一个含有未知数的function第二步&#xff1a;loss of a function如何Sample Training Examples > 如何抽样可以得到一个较好的结果如何权衡模型的复杂程度 Tradeoff of Model Complexity todo 这…

获取Kernel32基地址

暴力搜索 32位在4G内存搜索有一定可行性&#xff0c;但是处理起来其实还是比较麻烦的&#xff0c;因为内存不可读会触发异常&#xff0c;需要对这些异常问题进行处理。 优化思路:缩小范围、增大搜索步长 (1)不优化&#xff0c;原始内存特征匹配&#xff0c;容易出错&#xf…

Spark核心之01:架构部署、sparkshell、程序模板

spark内存计算框架 一、主题 spark核心概念spark集群架构spark集群安装部署spark-shell的使用通过IDEA开发spark程序 二、要点 1. spark是什么 Apache Spark™ is a unified analytics engine for large-scale data processing. spark是针对于大规模数据处理的统一分析引擎…

【算法学习之路】5.贪心算法

贪心算法 前言一.什么是贪心算法二.例题1.合并果子2.跳跳&#xff01;3. 老鼠和奶酪 前言 我会将一些常用的算法以及对应的题单给写完&#xff0c;形成一套完整的算法体系&#xff0c;以及大量的各个难度的题目&#xff0c;目前算法也写了几篇&#xff0c;题单正在更新&#xf…

布隆过滤器原理详解:高效解决大规模数据去重与查询问题

布隆过滤器原理详解&#xff1a;高效解决大规模数据去重与查询问题 一、布隆过滤器的核心概念 布隆过滤器&#xff08;Bloom Filter&#xff09;是一种基于概率的高效数据结构&#xff0c;由Burton Bloom于1970年提出。其核心思想是通过位数组&#xff08;Bit Array&#xff…

2025年渗透测试面试题总结-字某跳动-渗透测试实习生(题目+回答)

网络安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 字某跳动-渗透测试实习生 渗透流程信息收集如何处理子域名爆破中的泛解析问题绕过CDN寻找真实IPPHPINFO页面关注…

【Spring AOP】_切点类的切点表达式

目录 1. 根据方法签名匹配编写切点表达式 1.1 具体语法 1.2 通配符表达规范 2. 根据注解匹配编写切点表达式 2.1 实现步骤 2.2 元注解及其常用取值含义 2.3 使用自定义注解 2.3.1 编写自定义注解MyAspect 2.3.2 编写切面类MyAspectDemo 2.3.3 编写测试类及测试方法 在…

直接法估计相机位姿

引入 在前面的文章&#xff1a;运动跟踪——Lucas-Kanade光流中&#xff0c;我们了解到特征点法存在一些缺陷&#xff0c;并且用光流法追踪像素点的运动来替代特征点法进行特征点匹配的过程来解决这些缺陷。而这篇文章要介绍的直接法则是通过计算特征点在下一时刻图像中的位置…

SpringCloud + Spring AI Alibaba 整合阿里云百炼大模型

一、前言 记录一次自己使用微服务整合阿里云的百炼大模型&#xff0c;需要用到Redis来记录最近五条信息&#xff0c;已能够保证上下文的连通性&#xff0c;Ai和用户之间的对话是使用的MongoDB来进行存储。然后我这篇文章是介绍了两种请求方式&#xff0c;一种是通过Http请求&a…

【MYSQL数据库异常处理】执行SQL语句报超时异常

MYSQL执行SQL语句异常&#xff1a;The last packet successfully received from the server was 100,107 milliseconds ago. The last packet sent successfully to the server was 100,101 milliseconds ago. 这个错误表明 MySQL 服务器与 JDBC 连接之间的通信超时了。通常由…