原生JS(JavaScript)

2023-11-01

JS 是JavaScript的简述

JS基于对象和事件驱动脚本语言,作用在浏览器上

JS的事件

  • onsubmit
    主要用于表单的提交,绑定的位置在form标签里面,要有返回标记,如果提交的数据校验未通过,不允许表单提交
  • onload
    用于页面加载的时候使用的事件,绑定的位置在body标签里,也可以用window.οnlοad=function(){}
  • onclick/ondblclick
    主要用于鼠标点击事件,常见的有按钮、图片、文字、超链接等等
  • onfocus/onblur
    聚焦离焦事件,主要用于表单相关的标签
  • onmouseover/onmouseout/onmousemove
    主要用于鼠标移入,移出,移动
    常规应用:电商网站商品详情页
  • onchange
    当改变域的内容时使用,常用于下拉列表

js三大核心板块

核心一:ECMAScript

  • 语法 ( 严格区分大小写)
    变量是弱类型!:在定义变量的时候,如果没有对其赋值,那么此变量是没有具体类型的,只有赋值之后才有具体的类型。
    每行代码结束后分号可有可无,建议写上!
    注释、以及代码块等内与java一致。
  • 变量
    声明统一使用关键字var来定义。也可以不用声明。(如果不声明,表示该变量是一个全局的!)
    变量命名规则与java一致。不要使用关键字和保留字。
    如果不确定是不是关键字,建议字母后加数字
  • 数据类型
    原始数据类型
    undefined:变量已经定义,但是未为其赋值
    null:变量压根儿都不存在,一般用作占位符
    number
    string
    boolean
  • 引用数据类型
    JS的内置对象
    Array
    创建对象的3种方式
    new Array();
    new Array(size);
    注意,size是数组的长度,而不是该数组有一个元素为size
    new Array(element0,element1…);
    String
    注意里面的几个方法
    substr()
    从起始索引位置截取指定长度的字符串
    substring()
    截取两个索引位置之间的字符串
    match()主要用于正则
    Math
    Date
    getTime()主要用于解决浏览器缓存问题
    Boolean
    Number
    RegExp
    注意对象的创建
    全局函数
    注意其中的部分方法(与编码解码相关的方法,eval函数)
  • 运算符
    全等运算符,== 与 ===的区别。
    ==会进行一个类型转换(尝试着转换),===它不会进行类型转换
  • 语句
    语句与java一致。
  • 函数
    有名称
    function 函数名称(){
    }
    匿名
    function(){
    }

核心二:浏览器对象模型:BOM
HTML文档运行在浏览器端,JS提供浏览器端相关的对象

  • window对象:代表的是整个浏览器对象
    setInterval();
    一直执行
    在该方法中有2个参数,第一个参数是一个函数或者表达式,一般都要加引号,第二个参数是以毫秒值为单位的时间间隔。
    clearInterval();
    参数是setInterval()的返回值
    setTimeout();
    只执行一次
    clearTimeout();
    以上是与弹窗相关的方法.
  • alert();
    警告框
    prompt();
    输入框
    confirm();
    确认框
    window对象拥有其它几个对象的一个只读引用!
    以上是与定时操作有关的方法.
  • location对象:url地址
    href属性:实现页面的跳转功能
  • history对象:历史记录
    back():查看上一个历史记录
    forward():查看下一个历史记录
    go(有参数):可以实现上面两个功能。如果参数为负整数,其功能与back()一致。如果参数为正整数,其功能与forward一致
  • navigator对象:整个浏览器信息相关的对象
  • screen对象:客户端屏幕相关的信息

核心三:文档对象模型:DOM

  • Document对象
    ①获取元素对象的方法
    getElementById()
    getElementsByName()
    getElementsByTagName()
    ②创建节点的方法
    创建文本节点
    createTextNode()
    创建元素节点
    createElement()
  • Element对象
    appendChild()在元素的末尾添加一个新的子节点
    firstChild()获取第一个子节点
    insertBefore()在指定的元素节点前面插入一个新的子节点
    removeChild()移除子节点
    replaceChild()替换节点
  • Attribute对象
    attr.value设置或返回属性的值
  • Event对象
    都属于节点Node,还有一个文本节点对象,Test
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

原生JS(JavaScript) 的相关文章

  • windows下编译proj库

    编译sqlite 下载地址 SQLite Download Page 把sqlite amalgamation XXXXX zip sqlite tools win32 x86 XXXXX zip sqlite dll win32 x86
  • STM32 基础系列教程 47 - MD5

    前言 MD5消息摘要算法 英语 MD5 Message Digest Algorithm 一种被广泛使用的密码散列函数 可以产生出一个128位 16字节 的散列值 hash value 用于确保信息传输完整一致 MD5由美国密码学家罗纳德
  • 未启用远程计算机的访问,技术员解决win10系统连接远程提示未启用对服务器的远程访问的技巧...

    今天和大家分享一下win10系统连接远程提示未启用对服务器的远程访问问题的解决方法 在使用win10系统的过程中经常不知道如何去解决win10系统连接远程提示未启用对服务器的远程访问的问题 有什么好的办法去解决win10系统连接远程提示未启
  • 使用纯原生JS实现日历

    废话不多说 该有的注释都在代码里了 直接上代码 HTML
  • 【排序算法】堆排序

    堆排序 思路 思路 1 将数组构造成大顶堆 假设此时有n个节点 数组长度为n 2 此时大顶堆的根节点是数组中最大的数 将其与数组末尾元素交换 将剩下的长度为n 1的数组堆化 注意 堆化是指在左右子树都为大顶堆的前提下 插入一个新的根节点 将
  • 如何用Python语音合成,以及文字转语音~

    今天就给大家带来个语言识别跟语言转文字的小工具 感兴趣的铁汁萌可以往下滑了 1 直接使用 在1 2官网注册后拿到APISecret和APIKey 直接复制文章2 4demo代码 保存为online tts py 在命令行执行 python
  • JDBC 负载均衡读取mysql cluster

    语句使用 jdbc mysql loadbalance host1 port host2 port host3 port database propertyName1 propertyValue1 propertyName2 propert
  • MIPI D-PHY的校准测试

    MIPI的校准环节类似于DDR中的读写训练 其目的都是为了满足最佳的眼图采样时刻 因此 在系统的传输速率很高 通道之间存在延时 设计中有外部干扰等等影响因素的时候 信号抖动将会被增强 此时 校准将对长时间的稳定运行起到关键的补偿作用 在MI
  • PAT C语言入门题目-7-32 求交错序列前N项和 (15 分)

    7 32 求交错序列前N项和 15 分 本题要求编写程序 计算交错序列 1 2 3 3 5 4 7 5 9 6 11 的前N项之和 输入格式 输入在一行中给出一个正整数N 输出格式 在一行中输出部分和的值 结果保留三位小数 输入样例 5 输
  • 云计算-平台架构-开源-OpenStack

    文章目录 一 是什么 1 概念 2 架构 官方角度 组件层级角度 四大节点角度 三驾马车角度 组件交互角度 核心辅助组件角度 服务角度 二 怎么用 1 安装 2 使用 OpenStack操作界面服务Horizon OpenStack认证管理
  • 【mybatis】关联查询——mybatis一对多两种方式实现详解

    一 数据库 演示的小demo涉及两张表 一张是Person表 记录用户基本信息 另一张是phone表 记录电话号码 Person的phoneID外键关联phone表id 此处示例涉及并不符合实际情况 一对多方式是一个号码有多个用户使用的 更
  • VS code : 设置编译运行快捷键

    VS code中没有编译运行的快捷按键 只能通过编写 tasks json 实现 一开始用的 launch json 里的 windows launch 配置 设置调试开始前执行一个 task 任务 task 任务设置好 gcc 编译语句
  • java.lang.ClassNotFoundException web项目加载时找不到类

    1 概述 作为一个屌丝程序猿 怎么能不会配置log4j呢 这样在控制台或者日志文件中很容易找到程序出BUG的地方 尤其是在控制台输出日志的时候 那叫一个爽啊 但是出现了问题 我擦 启动web的时候spring创建上下文的时候居然会找不到类
  • 要考研,先要做到不比钱

    今天在一场针对大三学生的教学安排活动后 一位同学提出了一个问题 目前嵌入式开发的人员招聘中 研究生和本科生的待遇能相差多少 如果要给一个统计数据 那一定是可以找到的 一起参加活动的培训企业的老师也给做了解答 通过上研究生 使自己将来的职业生
  • 【Spark NLP】第 11 章:词嵌入

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • app开发好了你还不得不了解ASO

    前言 互联网的高速发展 带我们进入到了移动互联网时代 大家又开始了一轮APP开发的热潮 也就是移动应用开发 就像PC时代 大家都会创建自己的网站一样 现在苹果应用商店已经有上百万款的移动应用 Android的应用也有60万款左右 虽然数量上
  • 单片机课程设计-温度检测(STM32)

    单片机课程设计 温度检测 STM32 原理 KEY配置 ADC配置 中断配置 UI及主函数 原理 STM32ADC采样 我选用PA5作为ADC接口 并做了UI设计 KEY配置 key c include key h include SysT
  • 第七章——二叉树

    二叉树的基本概念 二叉树类似于2次树 但和2次树有一些不同 1 度为2的树至少有一个结点的度为2 而二叉树没有这种要求 简而言之二叉树可以退化成一条链 2 度为2的树可以不区分左右子树 二叉树中左右子树 结点 的次序严格区分排列 有关满二叉
  • 网络安全——Cobaltstrike

    一 原理 CobaltStrike 以下简称 CS 工具 是攻击队常用的团队协作工具之一 本实验将由服务器和攻击机 模拟组成攻击队的CS工具环境 完成相关配置 并通过简单的攻击实践 测试协作效果 二 Cobalt Strike的安装配置服务
  • MYSQL8.0.31解压版下载、安装、环境配置

    目录 1 下载 2 解压 3 配置my ini 4 打开命令提示符 5 安装mysql服务 6 初始化mysql数据库 7 启动mysq服务 8 修改密码 9 配置环境变量 1 下载 官网 https dev mysql com downl

随机推荐

  • 开源无国界?vue-cli、node-ipc被投毒事件分析

    简述 近日我们监测到 Vue js 生态中的 vue cli 包遭遇供应链投毒 而被投毒的 node ipc 包在 npm 上每周下载量超百万 影响非常广泛 被投毒的情况如下 vue cli是Vue js 开发的标准工具 该工具被广泛应用于
  • 解决多线程高并发问题常用类

    Volatile关键字 1 volatile解决可见性 创建一个类继承Thread类 public class MyThread extends Thread 定义一个共享的静态成员变量 供多个线程一起使用 给共享的成员变量 添加一个vol
  • 详解卷积神经网络(CNN)在语音识别中的应用

    欢迎大家前往腾讯云社区 获取更多腾讯海量技术实践干货哦 作者 侯艺馨 前言 总结目前语音识别的发展现状 dnn rnn lstm和cnn算是语音识别中几个比较主流的方向 2012年 微软邓力和俞栋老师将前馈神经网络FFDNN Feed Fo
  • 面试经典数据库查询题目(学生、课程、选课)

    这是前几天一刚毕业的朋友的面试题 算是面试常遇到的sql经典题目 记录一下 如图 在此我在电脑数据库上建立了对应的表结构 以供检验sql语句正误 建表语句 学生表 student info CREATE TABLE student info
  • 解决过拟合现象的六种姿势

    前面一文讲述的了过拟合现象产生的原因 现在讲述过拟合现象如何解决 1 增加训练数据 这是解决过拟合现象的根本办法 若没有过多的训练数据 我们可以自己增加一些假数据来在增加数据的数量 从而让模型的泛化能力增强 2 控制模型的复杂度 过于复杂的
  • Linux搭建FTP服务器

    FTP文件传输协议 什么是FTP FTP相关信息 FTP工作流程 FTP与HTTP区别 FTP相关软件包 FTP默认配置信息 FTP相关状态码 部署FTPserver lftp客户端的一些命令 FTP具体配置 匿名用户相关配置 本地用户相关
  • CSS的border边框属性 边框样式 内外边框 圆角合集

    CSS border 属性允许指定元素边框的样式 宽度和颜色 目录 1 四个边框 2 内外边框 3 边框样式 4 圆角边框 1 border边框属性 可以设置一到四个值 上边框 右边框 下边框 左边框 border top 10px sol
  • 【Scala入门】Scala下载及安装(Windows)以及Idea创建第一个scala项目

    目录 一 安装准备 二 Scala下载安装 三 Idea 创建Scala项目 一 安装准备 在安装之前 确保你的电脑上装有Jdk 8 Jdk 1 8 且环境变量配置正确 如果没有安装Jdk 请参照其他文章先安装Jdk 8 Jdk 1 8 1
  • JavaScript习题————————简单的关键字检测

    关键字检测说明 首先你输入一个字符串 然后确定 如果你输入的字符串里面有哪一个关键字 那么便输出那个关键字开头所在的位置 如果没有便返回 1 注 关键词不区分大小写 下面是代码
  • mac 下 vscode 通过wifi调试真机

    前言 继续上一篇如何在mac 环境下安装adb 这一篇我们将在有adb环境下进行无线模式的调试 在vscode下载插件 adb interface vscode 如上图输入 adb com 然后在右边进行安装 注意看下面的使用步骤 使用步骤
  • C++——打印乘法口诀表

    打印乘法口诀表 目标 利用嵌套循环 打印九九乘法口诀表 分析 1 列数 行数 计算结果 2 列数 lt 行数 include
  • 【JMeter】Jmeter分布式压测教程

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 一 原理 二 环境搭建 2 1 环境准备 2 2 slave机器配置 2 3 master机器配置 三 脚本及执行 3 1 参数化问题 3 2 GUI启动测试 3
  • SpringBoot整合Mybatis-Plus实现浏览数据新增、Redis进行热度排名

    在开发Web项目时 常用到的技术就是SpringBoot和Mybatis Plus 本文将介绍如何使用SpringBoot整合Mybatis Plus实现一个浏览数据新增功能 以及如何用Redis进行热度排名统计 最后用Vue进行数据渲染
  • python使用socket高效传输视频数据帧(连续发送图片)

    遇到的问题 网上找了一些代码 都是只能建立一次socket传输一张图片 然后断开重新连重新传 而建立一次socket代价不小 反复建立会非常消耗系统资源 因此尝试自己通过一次socket连续传输多张图片 代码问题记录 需要代码的可以直接文末
  • STM32系列(HAL库)——F103C8T6使用SPI方式点亮OLED

    目录 1 软件准备 2 硬件准备 3 CubeMX配置 1 芯片选择 2 配置RCC SYS 时钟树 3 配置SPI 4 配置GPIO 5 生成代码工程 4 代码移植 1 复制文件 2 在Keil5里添加文件 3 修改oled h文件 4
  • 【2023】华为OD机试真题全语言-题目0229-响应报文时间

    题目0229 响应报文时间 题目描述 IGMP 协议中 有一个字段称作最大响应时间 Max Response Time HOST收到查询报文 解析出MaxResponseTime字段后 需要在 0 MaxResponseTime s 时间内
  • 【JS】去除字符串首尾空格、所有空格

    1 去除所有空格 function trim str return str replace s g 2 去除首尾空格 去除字符串str头尾的空格 param str 字符串 return str去除头尾空格后的字符串 function tr
  • unittest和pytest的区别

    unittest是python的官方库 功能较少 pytest是第三方库 是基于unittest的扩展框架 可支持多种插件 目前有100多种 功能强大 pytest可兼容unittest写的用例 代码完全不用更改 一 用例编写方面 1 测试
  • LDR指令和LDR伪指令详解

    ARM32位指令的构成 ARM是RISC结构 数据从内存到CPU之间的移动只能通过LDR STR指令来完成 32bit 指令码 数据 所以32bit的一条指令不可能表示再带一个32bit的数据 实际只有其中的12bit来表示立即数 其中4b
  • 原生JS(JavaScript)

    JS 是JavaScript的简述 JS基于对象和事件驱动脚本语言 作用在浏览器上 JS的事件 onsubmit 主要用于表单的提交 绑定的位置在form标签里面 要有返回标记 如果提交的数据校验未通过 不允许表单提交 onload 用于页