JavaScript知识点 --javaweb学习笔记

什么是Javascript?

  • JavaScript(简称:JS)是一门跨平台、面向对象的脚本语言。是用来控制网页行为的,它能使网页可交互
  • JavaScript 和Java 是完全不同的语言,不论是概念还是设计。但是基础语法类似
  • JavaScript在1995 年由 Brendan Eich 发明,并于 1997 年成为 ECMA 标准
  • ECMAScript6(ES6)是最新的JavaScript 版本(发布于 2015 年)

ECMA:ECMA国际(前身为欧洲计算机制造商协会),制定了标准化的脚本程序设计语言ECMAScript,这种语言得到广泛应用。而javascript是遵守ECMAScript的标准的

Javascript引入方式

内部脚本:将JS代码定义在HTML页面中

  • JavaScript代码必须位于<script></script>标签之间
  • 在HTML文档中,可以在任意地方,放置任意数量的<script>
  • 一般会把脚本置于<body>元素的底部,可改善显示速度

外部脚本:将JS代码定义在外部JS文件中,然后引入到 HTML页面中

  • 外部JS文件中,只包含JS代码,不包含<script>标签
  • <script>标签不能自闭合

书写语法

区分大小写:与Java 一样,变量名、函数名以及其他一切东西都是区分大小写的
每行结尾的分号可有可无

注释:

  • 单行注释://注释内容
  • 多行注释:/*注释内容*/

输出语句

  • 使用 window.alert()写入警告框
  • 使用 document.write()写入 HTML 输出
  • 使用 console.log()写入浏览器控制台

变量

  • JavaScript 中用 var 关键字(variable 的缩写)来声明变量
  • JavaScript 是一门弱类型语言,变量可以存放不同类型的值
  • 变量名需要遵循如下规则:
    组成字符可以是任何字母、数字、下划线()或美元符号($)
    数字不能开头
    建议使用驼峰命名

注意事项

  • ECMAScriot6 新增了 let 关键字来定义变量。它的用法类似于var,但是所声明的变量,只在 let 关键字所在的代码块内有效,且不允许重复声明
  • ECMAScript6新增了 const 关键字,用来声明一个只读的常量。一旦声明,常量的值就不能改变

数据类型

JavaScript中分为:原始类型和引用类型

原始类型:

  • number:数字(整数、小数、NaN(Not aNumber))
  • string:字符串,单双引皆可
  • boolean:布尔。true,false
  • null:对象为空
  • undefined:当声明的变量未初始化时,该变量的默认值是 undefined

使用 typeof 运算符可以获取数据类型

运算符

  • 算术运算符:+,-,*,/,%,++,--
  • 赋值运算符:=,+=,-=,*=,/=,%=
  • 比较运算符:>,<,>=,<=,!=,==,===
  • 逻辑运算符:&&,||,!
  • 三元运算符:条件表达式?true_value:false_value

==与===

==会进行类型转换,===不会进行类型转换

类型转换

字符串类型转为数字:

  • 将字符串字面值转为数字。如果字面值不是数字,则转为NaN

其他类型转为boolean:

  • Number:0和NaN为false,其他均转为true
  • String:空字符串为false,其他均转为true
  • Null和 undefined:均转为false

函数

介绍:函数(方法)是被设计为执行特定任务的代码块
定义:JavaScript 函数通过 function 关键字进行定义,语法为:

注意:

  • 形式参数不需要类型。因为JavaScript是弱类型语言
  • 返回值也不需要定义类型,可以在函数内部直接使用return返回即可

调用:函数名称(实际参数列表)

定义方式二:

注意事项

  • JS中,函数调用可以传递任意个数的参数

Array

JavaScript 中 Array对象用于定义数组
定义:

访问:

注意事项

JavaScript 中的数组相当于|ava 中集合,数组的长度是可变的,而 avaScript是弱类型,所以可以存储任意的类型的数据

属性

方法

箭头函数(ES6):

是用来简化函数定义语法的。具体形式为:(..)=>{..},如果需要给箭头函数起名字: var xxx=(..)=> {..}

String

String字符串对象创建方式有两种:

属性

方法

Javascript自定义对象

定义格式:

调用格式:

JSON

  • 概念:JavaScript Object Notation,JavaScript对象标记法
  • JSON 是通过 JavaScript 对象标记法书写的文本
  • 由于其语法简单,层次结构鲜明,现多用于作为数据载体,在网络中进行数据传输

JSON-基础语法

定义

示例

value 的数据类型为:

  • 数字(整数或浮点数)
  • 字符串(在双引号中)
  • 逻辑值(true 或 false)
  • 数组(在方括号中)
  • 对象(在花括号中)
  • null

JSON字符串转为JS对象

JS对象转为JSON字符串

BOM

概念:Browser Object Model 浏览器对象模型,允许]avaScript与浏览器对话,JavaScript 将浏览器的各个组成部分封装为对象

组成:

  • Window:浏览器窗口对象
  • Naviqator:浏览器对象
  • Screen:屏幕对象
  • History:历史记录对象
  • Location:地址栏对象

Window

介绍:浏览器窗口对象

获取:直接使用window,其中 window.可以省略

属性

  • history:对 History 对象的只读引用
  • location:用于窗口或框架的 Location 对象
  • navigator:对 Navigator 对象的只读引用

方法

  • alert():显示带有一段消息和一个确认按钮的警告框
  • confirm():显示带有一段消息以及确认按钮和取消按钮的对话框
  • setInterval():按照指定的周期(以毫秒计)来调用函数或计算表达式
  • setTimeout():在指定的毫秒数后调用函数或计算表达式

Location

介绍:地址栏对象

获取:使用 window.location 获取,其中 window.可以省略

属性:

href:设置或返回完整的URL

DOM

概念:Document Object Model,文档对象模型

将标记语言的各个组成部分封装为对应的对象

JavaScript通过DOM,就能够对HTML进行操作:

  • 改变 HTML 元素的内容
  • 改变 HTML元素的样式(CSS)
  • 对 HTML DOM 事件作出反应
  • 添加和删除 HTML 元素

HTML中的Element对象可以通过Document对象获取,而Document对象是通过window对象获取的

Document对象中提供了以下获取Element元素对象的函数:

  1. 根据id属性值获取,返回单个Element对象
  2. 根据标签名称获取,返回Element对象数组
  3. 根据name属性值获取,返回Element对象数组
  4. 根据class属性值获取,返回Element对象数组

事件监听

事件:HTML事件是发生在HTML元素上的“事情”。比如:

  • 按钮被点击
  • 鼠标移动到元素上
  • 按下键盘按键

事件监听:JavaScript可以在事件被侦测到时执行代码

方式一:通过 HTML标签中的事件属性进行绑定

方式二:通过 DOM 元素属性绑定

常见事件

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

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

相关文章

【Spring Boot】深入解密Spring Boot日志:最佳实践与策略解析

&#x1f493; 博客主页&#xff1a;从零开始的-CodeNinja之路 ⏩ 收录文章&#xff1a;【Spring Boot】深入解密Spring Boot日志&#xff1a;最佳实践与策略解析 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 目录 Spring Boot 日志一. 日志的概念?…

OpenHarmony实战开发-FaultLoggerd组件。

简介 Faultloggerd部件是OpenHarmony中C/C运行时崩溃临时日志的生成及管理模块。面向基于 Rust 开发的部件&#xff0c;Faultloggerd 提供了Rust Panic故障日志生成能力。系统开发者可以在预设的路径下找到故障日志&#xff0c;定位相关问题。 架构 Native InnerKits 接口Sig…

Spring容器获取bean实例

使用spring框架的过程中获取bean是非常常见的操作,此处列举了七种获取方式: 1.使用BeanFactory从工厂中直接获取Bean实例,但是XmlBeanFactory类已经废弃,不建议使用 @Test public void getBeanTest1() {BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResou…

【S32K3 MCAL配置】-4.2-CAN Driver:CanObjectId排序规则,其影响CAN报文的收发

"><--返回「Autosar_MCAL高阶配置」专栏主页--> 目录(共7页精讲,基于评估板: NXP S32K312EVB-Q172,手把手教你S32K3从入门到精通) 实现的架构:基于MCAL层 前期准备工作:

umi的好处

插件化架构&#xff1a; UMI框架采用了插件化的架构设计&#xff0c;开发者可以根据项目需求选择安装和配置不同的插件&#xff0c;扩展框架的功能。 约定式路由&#xff1a; UMI框架默认采用约定式路由&#xff0c;开发者无需手动配置路由信息&#xff0c;只需要按照约定的规…

汇舟问卷:国外问卷调查适合哪些人?

在这个快节奏的时代&#xff0c;朝九晚五的工作模式似乎已经成为许多人的固定生活模式。然而&#xff0c;这种日复一日的工作方式往往让人感到疲惫和厌倦&#xff0c;我们渴望找到一种既能赚钱又能兼顾生活的方式。 海外问卷调查作为一种适合在家做的赚钱方式&#xff0c;这两…

【Golang学习笔记】从零开始搭建一个Web框架(二)

文章目录 模块化路由前缀树路由 前情提示&#xff1a; 【Golang学习笔记】从零开始搭建一个Web框架&#xff08;一&#xff09;-CSDN博客 模块化路由 路由在kilon.go文件中导致路由和引擎交织在一起&#xff0c;如果要实现路由功能的拓展增强&#xff0c;那将会非常麻烦&…

华为OD-C卷-游戏分组[100分]

题目描述 部门准备举办一场王者荣耀表演赛&#xff0c;有 10 名游戏爱好者参与&#xff0c;分为两队&#xff0c;每队 5 人。 每位参与者都有一个评分&#xff0c;代表着他的游戏水平。为了表演赛尽可能精彩&#xff0c;我们需要把 10 名参赛者分为示例尽量相近的两队。 一队…

基于Springboot+Vue的Java项目-课程作业管理系统(附演示视频+源码+LW)

大家好&#xff01;我是程序员一帆&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &am…

密码学基础--搞清RFC和PKCS(2)

目录 1.引入 ​2. RFC是什么 3. PKCS是什么 4.小结 1.引入 老规矩&#xff0c;先从RFC是什么开始说起 ​2. RFC是什么 RFC是“Request for Comments”的缩写&#xff0c;本身它是一系列文件&#xff0c;描述了互联网的各种协议、技术规范、方法。它们由互联网工程任务组&…

rocketmq面试

broker主从复制机制 同步复制&#xff1a; 等Master和Slave均写成功后&#xff0c;才反馈给客户端写成功状态&#xff1b; 如果Master出故障&#xff0c; Slave上有全部的备份数据&#xff0c;容易恢复&#xff0c;但是同步复制会增大数据写入延迟&#xff0c;降低系统吞吐量。…

DDD之DP对象的应用

定义 在领域驱动设计&#xff08;Domain-Driven Design&#xff0c;DDD&#xff09;中&#xff0c;“Domain Primitive”&#xff08;领域原语&#xff09;是指领域模型中的基本数据类型或值对象&#xff0c;它们代表了业务领域中的最基本的、不可分割的数据元素。Domain Prim…

Linux系统常见20问题及处理方法(涵盖了安装、配置、使用、维护等方面)

一、系统启动问题 1. 无法启动系统 示例: 开机后出现黑屏或无法进入登录界面。 可能原因: 硬件故障: 电源故障:电源线未连接或电源损坏。内存故障:内存条松动或损坏。主板故障:主板损坏。显卡故障:显卡损坏。GRUB引导菜单错误: 引导菜单配置错误:引导菜单中没有可引导的…

Linux第86步_了解“阻塞和非阻塞IO”以及相关处理函数

1、IO “应用程序”对“驱动设备“进行输入/输出操作&#xff0c;简称IO操作&#xff0c;它是Input和Output的缩写。 2、阻塞IO 阻塞IO是“应用程序”对“驱动设备”进行操作&#xff0c;若不能获取到设备资源&#xff0c;则阻塞IO应用程序的线程会被“挂起”&#xff0c;直到…

使用LNMP部署动态网站环境

目录 实验环境 一、配置LNMP架构环境 二、验证部署的LNMP 动态网站环境是否可用 三、配置过程中遇到的问题及解决思路 实验环境 centos7 192.168.81.131/24 一、配置LNMP架构环境 概念及配置手册参考第20章 使用LNMP架构部署动态网站环境。 | 《Linux就该这么学》 安装g…

Java编程练习之接口的声明及实现

1.创建老师类和学生类&#xff0c;两个类都实现了问候接口和工作接口&#xff0c;模拟上课的场景&#xff0c;运行效果如下&#xff1a; package Zaria; interface hello{public void speak(); } interface work{public void dowork(); } class Student implements hello,work{…

PCL 基于马氏距离KMeans点云聚类

文章目录 一、简介二、算法步骤三、代码实现四、实现效果参考资料一、简介 在诸多的聚类方法中,K-Means聚类方法是属于“基于原型的聚类”(也称为原型聚类)的方法,此类方法均是假设聚类结构能通过一组原型刻画,在现实聚类中极为常用。通常情况下,该类算法会先对原型进行初始…

嵌入式与移动物联网开发教程和案例

一、嵌入式与移动物联网概述 嵌入式系统是指嵌入到设备中的专用计算机系统&#xff0c;用于控制、监视或辅助设备操作。而移动物联网则是指通过物联网技术将各种智能设备与互联网连接起来&#xff0c;实现设备之间的互联互通和智能化管理。嵌入式与移动物联网技术的结合&#…

深入剖析Cargo缓存机制

一、介绍 Cargo作为Rust的包管理工具&#xff0c;不仅在项目构建中扮演了重要的角色&#xff0c;其高效的缓存机制也为Rust开发者节省了大量的时间。本文将深入探讨Cargo的缓存原理和使用技巧&#xff0c;并提供丰富的示例让你轻松掌握Cargo缓存的管理和优化。 二、Cargo缓存…

相位校正啊

相位校正是信号处理中的一种常见技术&#xff0c;用于确保多个信号在相位上对齐&#xff0c;这对于后续的信号分析和处理至关重要。在处理三相信号时&#xff0c;相位校正尤为重要&#xff0c;因为它可以保证三相之间的相位关系准确&#xff0c;从而正确分析信号特性和检测问题…