快速熟悉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.mzph.cn/pingmian/71516.shtml

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

相关文章

perl初试

我手头有一个脚本&#xff0c;用于从blastp序列比对的结果文件中&#xff0c;进行文本处理&#xff0c; 获取序列比对最优的hit记录 #!/usr/bin/perl -w use strict;my ($blast_out) ARGV; my $usage "This script is to get the best hit from blast output file wit…

确定 Flutter SDK 及其关联的 Gradle 版本与适配的 JDK 版本

最近在编写 Flutter 项目&#xff0c;发现不同的 Flutter SDK 版本有着不一样的 Gradle 版本&#xff0c;然后不同的 Gradle 版本需要不同的 JDK 版本。只有当三者都一致匹配时&#xff0c;才能正常的完成编译 首先&#xff0c;我们可以确定 Flutter SDK 对应的 Gradle 版本。…

unity6 打包webgl注意事项

webgl使用资源需要异步加载 使用localization插件时要注意&#xff0c;webgl不支持WaitForCompletion&#xff0c;LocalizationSettings.InitializationOperation和LocalizationSettings.StringDatabase.GetTable都不能用 web里想要看到具体的报错信息调试开启这两个&#xf…

Three.js 入门(基础材质、贴图、纹理、环境、遮蔽光、透明度、高光贴图)

本篇主要学习内容 : three常用的几种材质环境贴图、贴图、环境光、遮蔽光、透明度、高光贴图&#xff08;纹理贴图&#xff09; 点赞 关注 收藏 学会了 1.three常用的几种材质 1.1&#xff09; 基础网格材质MeshBasicMaterial、漫反射网格材质MeshLambertMaterial、高光…

【大模型安全】大模型的技术风险

【大模型安全】大模型的技术风险 1.DDoS攻击2.常见的传统网络攻击方式3.恶意意图的识别4.AI生成虚假信息传播5.利用AI进行黑客攻击6.模型对抗攻击7.后门攻击8.Prompt攻击9.数据投毒攻击10.模型窃取攻击11.数据窃取攻击 1.DDoS攻击 2023年11月9日凌晨&#xff0c;OpenAI在官网公…

数据库设计方面如何进行PostgreSQL 17的性能调优?

在数据库设计方面&#xff0c;PostgreSQL 17 的性能调优可以从以下几个方面入手&#xff1a; 表结构设计 选择合适的数据类型&#xff1a;根据数据的实际范围和业务需求&#xff0c;选择占用空间小、查询效率高的数据类型。对于固定长度的字符串&#xff0c;如性别字段&#…

C++学习之路,从0到精通的征途:入门基础

目录 一.C的第一个程序 二.命名空间 1.namespace的价值 2.命名空间的定义 3.命名空间使用 三.C的输入与输出 1.<iostream> 2.流 3.std(standard) 四.缺省参数 1.缺省参数的定义 2.全缺省/半缺省 3.声明与定义 ​五.函数重载 1.参数个数不同 2.参数类型不…

PHP配置虚拟主机

虚拟主机: 不是真实存在的主机, 因为一台电脑理论上讲只能作为一个网站: 事实上,一个网站是一个文件夹. 在本地开发中&#xff0c;通过虚拟主机配置可以实现多域名独立访问不同项目目录&#xff08;如 www.project1.test 和 www.project2.test&#xff09;&#xff0c;以 ”XAM…

linux安装Kafka以及windows安装Kafka和常见问题解决

目录 Linux上安装Kafka 当主题删除不了时&#xff0c;可以进入zookeeper&#xff1a; windows上安装kafka 安装Kafka需要有Zookeeper&#xff0c;或者也可以使用kafka自带的zookeeper Linux上安装Kafka 将kafka的安装包上传到/export/server目录并解压&#xff0c;重命名&…

本地YARN集群部署

请先完成HDFS的前置部署&#xff0c;部署方式可查看:本地部署HDFS集群https://blog.csdn.net/m0_73641796/article/details/145998092?spm1001.2014.3001.5502 部署说明 组件配置文件启动进程备注Hadoop HDFS需修改 需启动: NameNode作为主节点 DataNode作为从节点 Secondary…

UnrealEngine UE5 可视化 从地球观察火星 金星 土星 运动轨迹

视频参考&#xff1a;https://www.bilibili.com/video/BV1KpXSYdEdo/ 从地球观察土星的运动轨迹 从地球观察火星 轨迹 从地球观察金星的运动轨迹

【练习】【二叉树】力扣热题100 102. 二叉树的层序遍历

题目 二叉树的层序遍历 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3],[9,20],[15,7]] 示例…

鬼泣:项目前置设置杂项

能帮到你的话&#xff0c;就给个赞吧 &#x1f618; 文章目录 插件niagara ui render&#xff1a;在 UI 中渲染 Niagara 特效skeletal editor&#xff1a;编辑骨骼&#xff0c;调整骨骼动画motion warping&#xff1a;根据目标自动调整角色动画。animation warping&#xff1a;…

通用信息抽取大模型PP-UIE开源发布,强化零样本学习与长文本抽取能力,全面适配多场景任务

背景与简介 信息抽取&#xff08;information extraction&#xff09;是指&#xff0c;从非结构化或半结构化数据&#xff08;如自然语言文本&#xff09;中自动识别、提取并组织出结构化信息。通常包含多个子任务&#xff0c;例如&#xff1a;命名实体识别&#xff08;NER&am…

Matlab实现车牌识别

车牌识别技术作为现代智能交通系统、安防监控以及诸多车辆管理应用场景中的关键环节&#xff0c;正发挥着日益重要的作用&#xff0c;它能够自动、快速且精准地从车辆图像或视频流中提取车牌信息&#xff0c;实现车辆身份的智能化识别。 技术原理 车牌识别主要依托于图像处理、…

基于Asp.net的零食购物商城网站

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

数据结构与算法:二分答案法

前言 二分答案法是很牛逼的一种算法&#xff0c;本质思想就是猜答案&#xff0c;然后看能不能对上条件。 一、内容 1.使用条件 只有当让你输出的答案只有一个数的时候&#xff0c;且答案与给定条件之间存在单调性关系时才能使用。 2.步骤 首先&#xff0c;要先确定答案那…

Ubuntu20.04双系统安装及软件安装(十一):向日葵远程软件

Ubuntu20.04双系统安装及软件安装&#xff08;十一&#xff09;&#xff1a;向日葵远程软件 打开向日葵远程官网&#xff0c;下载图形版本&#xff1a; 在下载目录下打开终端&#xff0c;执行&#xff1a; sudo dpkg -i SunloginClient(按tab键自动补全)出现报错&#xff1a; …

快速生成viso流程图图片形式

我们在写详细设计文档的过程中总会不可避免的涉及到时序图或者流程图的绘制&#xff0c;viso这个软件大部分技术人员都会使用&#xff0c;但是想要画的好看&#xff0c;画的科学还是比较难的&#xff0c;现在我总结一套比较好的方法可以生成好看科学的viso图(图片格式)。主要思…

C++设计一:日期类Date实现

一、引言与概述 1 引言 日期操作是软件开发中的常见需求&#xff0c;如日程管理、数据统计等场景均需处理日期的比较、偏移及合法性校验。为简化此类操作&#xff0c;本文设计了一个高效且类型安全的C日期类Date。 该类通过构造函数内嵌合法性检查&#xff0c;确保对象初始状…