JS 基础对象

news2024/11/27 0:57:58

JS 对象

JSON-基本语法

  • 定义
var 变量名 = '{"key1":value1,"key2":value2}';

实例:

var userStr = '{"name":"Joker","age":18,"addr":["BeiJing","Shanghai","Hongkong"]}';
  • JSON 字符串转为 JS 对象
var jsObject = JSON.parse(userSter);
  • JS 对象转为 JSON 字符串
var jsonStr = JSON.stringify(jsObject);

BOM-浏览器对象模型

  • JS Window 浏览器窗口对象
  • JS Screen 屏幕对象
  • JS Location 地址栏对象
  • JS History 历史记录
  • JS Navigator 浏览器对象
  • JS 弹出窗
  • JS Timing
  • JS Cookies

1. Window

  • 介绍:浏览器窗口对象
  • 获取:使用window.xxx获取,其中window.可以省略。window.alert("Hello"); alert("Hello");
  • 属性
    • history:对 History 对象的只读引用;
    • location: 用于窗口或者框架的 Location 对象;
    • navigator: 对 navigator 对象的只读引用。
  • 方法
    • alert() : 显示带有一段消息和一个确认按钮的警告框;
    • confirm() : 显示带有一段消息及一个确认按钮的和取消按钮的对话框;
    • setInterval(): 按照指定的周期(以毫秒计)来调用函数或计算表达式;
    • setTimeout(): 在指定毫秒数后调用函数或者表达式。

2. Location

  • 介绍:地址栏对象
  • 获取:使用window.location获取,其中window.可以省略。window.location.属性; location.属性;
  • 属性:
    • href: 设置或返回完整的 URL: location.href = "https"//www.google.com";

DOM-文档对象模型

  • 将标记语言的哥哥组成部分封装成对应的对象:

    • Document 整个文档对象
    • Element 元素对象
    • Attribute 属性对象
    • Text 文本对象
    • Comment 注释对象
  • JavaSpript 通过 DOM 就能对 HTML 进行操作:

    • 改变 HTML 元素的内容;
    • 改变 HTML 元素的样式 CSS;
    • 对 HTML DOM 事件做出反应;
    • 添加和删除 HTML 元素。
  • DOM 是 W3C 的标准,定义了方位 HTML 和 XML 文登的标准,有 3 部分:

    1. Core DOM - 所有文档类型的标准模型:

      • Document 整个文档对象
      • Element 元素对象
      • Attribute 属性对象
      • Text 文本对象
      • Comment 注释对象
    2. XML DOM - XML 文档的标准模型(Core DOM 的子集)

    3. HTML DOM - HTML 文档的标准模型

      Core DOM 的扩展,在 Core DOM 的基础上进行扩充,将 HTML 标签封装成对象比如:

      • Image是封装自 <img>
      • Button是封装自 <input type='button'>
  • 获取 Element 对象

    1. 根据 id 获取单个 Element 对象
    var h1 = document.getElementById("h1");
    
    1. 根据标签名获取 Element 对象数组
    var divs = document.getElementsByTagName("div");
    
    1. 根据name属性值获取 Element 对象数组
    var hobbys = document.getElementsByName("hobby");
    
    1. 根据c;ass属性值获取 Element 对象数组
    var clss = document.getElementsByClassName("cls");
    

JS 事件监听

事件绑定

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

    <input
        type="button"
        onclick="on()"
        value="Button"
    />
    <script>
        function on() {
            alert("clicked!");
        }
    </script>
    
  • 方式 2:通过 DOM 元素属性绑定

    <input
        type="button"
        id="btn"
        onclick="on()"
        value="Button"
    />
    <script>
        document.getElementById("btn").onClick = function () {
            alert("clicked!");
        };
    </script>
    

常见事件

  • onclick 点击
  • onblur 元素失去焦点
  • onfocus 元素获取焦点
  • onload 某个页面或图像被完成加载
  • onsubmit 等表单提交时处罚该事件
  • onkeydown 键盘按键被按下
  • onmouseover 鼠标移动到某元素之上
  • onmouseout 鼠标从某元素移开

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

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

相关文章

MacOS系统上Jmeter 录制脚本遇到的证书坑位

一、JMeter介绍与安装 1&#xff0c;下载及安装 jmeter官网地址 二、录制百度链接https请求时&#xff0c;需要导入jmeter相关证书到macos系统的更目录中. 导入方式&#xff0c;直接拖入mac的系统中&#xff0c;始终新人就可以&#xff1b; 三、jmeter 创建相关的录制组件…

【ArcGISPro】Sentinel-2数据处理

错误 默认拉进去只组织了4个波段,但是实际有12个波段 解决方案 数据下载 Sentinel-2 数据下载-CSDN博客 数据处理 数据查看 创建镶嵌数据集 在数据管理工具箱中找到创建镶嵌数据集

音视频处理PCM相关概念:帧(Frame)、周期(Period Size)、量化、 声道数(Channels)、采样位数(Sample Bits)、采样频率

文章目录 引言I PCM相关图表原始模拟音频数据:模拟信息按照固定频率进行采样对采样后的数据选择合适精度进行量化PCM数据流II PCM相关概念采样频率:单位时间内对模拟信号的采样次数采样位数(Sample Bits)声道数(Channels)音频数据大小计算量化编码III 其他相关参数帧(Fra…

小米note pro一代(leo)线刷、twrp、magisk、TODO: android源码编译

本文主要说android5 整体思路 android 5.1 twrp magisk Zygisk(Riru) Dreamland(xposed) Riru不支持android5.1, 因此只能选择Zygisk : 如果你正在使用 Android 5&#xff0c;你必须使用 Zygisk 因为 Riru 并不支持 Android 5. 基于magisk之上的xposed 其中提到的 作者…

React表单联动

Ant Design 1、dependencies Form.Item 可以通过 dependencies 属性&#xff0c;设置关联字段。当关联字段的值发生变化时&#xff0c;会触发校验与更新。 一种常见的场景&#xff1a;注册用户表单的“密码”与“确认密码”字段。“确认密码”校验依赖于“密码”字段&#x…

【AIGC】如何准确引导ChatGPT,实现精细化GPTs指令生成

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: AIGC | 提示词Prompt应用实例 文章目录 &#x1f4af;前言&#x1f4af;准确引导ChatGPT创建爆款小红书文案GPTs指令案例&#x1f4af; 高效开发GPTs应用的核心原则明确应用场景和目标受众构建多样化风格模板提问与引…

Easyexcel(6-单元格合并)

相关文章链接 Easyexcel&#xff08;1-注解使用&#xff09;Easyexcel&#xff08;2-文件读取&#xff09;Easyexcel&#xff08;3-文件导出&#xff09;Easyexcel&#xff08;4-模板文件&#xff09;Easyexcel&#xff08;5-自定义列宽&#xff09;Easyexcel&#xff08;6-单…

从零开始打造个人博客:我的网页设计之旅

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 ✨特色专栏&#xff1a…

数据库-MySQL-Mybatis源码解析-设计模式角度

文章目录 前言一、工厂模式二、单例模式三、建造者模式四、模板模式五、代理模式六、装饰器模式七、总结 前言 Mybatis是一个比较主流的ORM框架&#xff0c;所以在日常工作中接触得很多。能写出这种框架的作者肯定有其独特之处。阅读优秀框架的源码&#xff0c;如果能看懂些巧…

【K8S问题系列 |18 】如何解决 imagePullSecrets配置正确,但docker pull仍然失败问题

如果 imagePullSecrets 配置正确&#xff0c;但在执行 docker pull 命令时仍然失败&#xff0c;可能存在以下几种原因。以下是详细的排查步骤和解决方案。 1. 检查 Docker 登录凭证 确保你使用的是与 imagePullSecrets 中相同的凭证进行 Docker 登录&#xff1a; 1.1 直接登录…

[工具分享] 根据Excel数据根据Word文档模板,批量创建生成Word文档并重命名,方便快速查找打印

前几天交楼的小姐姐要多份Word文档合同打印给客户&#xff0c;那么100份就需要修改100次 上面好多都是模板的制式文件&#xff0c;里面的部分数据都是要根据实际值来变动的&#xff0c; 那么有没有快速的方法来操作呢&#xff0c;还是只能一个个手动的改&#xff0c;又容易出…

嵌入式的C/C++:深入理解 static、const 与 volatile 的用法与特点

目录 一、static 1、static 修饰局部变量 2、 static 修饰全局变量 3、static 修饰函数 4、static 修饰类成员 5、小结 二、const 1、const 修饰普通变量 2、const 修饰指针 3、const 修饰函数参数 4. const 修饰函数返回值 5. const 修饰类成员 6. const 与 #defi…

云计算-华为HCIA-学习笔记

笔者今年7月底考取了华为云计算方向的HCIE认证&#xff0c;回顾从IA到IE的学习和项目实战&#xff0c;想整合和分享自己的学习历程&#xff0c;欢迎志同道合的朋友们一起讨论&#xff01; 第三章&#xff1a;常见设备 交换机 二层交换机和三层交换机&#xff0c;所谓二层交换机…

基于FPGA的2FSK调制-串口收发-带tb仿真文件-实际上板验证成功

基于FPGA的2FSK调制 前言一、2FSK储备知识二、代码分析1.模块分析2.波形分析 总结 前言 设计实现连续相位 2FSK 调制器&#xff0c;2FSK 的两个频率为:fI15KHz&#xff0c;f23KHz&#xff0c;波特率为 1500 bps,比特0映射为f 载波&#xff0c;比特1映射为 载波。 1&#xff09…

网络安全与加密

1.Base64简单说明描述&#xff1a;Base64可以成为密码学的基石&#xff0c;非常重要。特点&#xff1a;可以将任意的二进制数据进行Base64编码结果&#xff1a;所有的数据都能被编码为并只用65个字符就能表示的文本文件。65字符&#xff1a;A~Z a~z 0~9 / 对文件进行base64编码…

Python绘制太极八卦

文章目录 系列目录写在前面技术需求1. 图形绘制库的支持2. 图形绘制功能3. 参数化设计4. 绘制控制5. 数据处理6. 用户界面 完整代码代码分析1. rset() 函数2. offset() 函数3. taiji() 函数4. bagua() 函数5. 绘制过程6. 技术亮点 写在后面 系列目录 序号直达链接爱心系列1Pyth…

C 语言面向对象

面向对象的基本特性&#xff1a;封装&#xff0c;继承&#xff0c;多态 1.0 面向过程概念 当我们在编写程序时&#xff0c;通常采用以下步骤&#xff1a; 1. 将问题的解法分解成若干步骤 2. 使用函数分别实现这些步骤 3. 依次调用这些函数 这种编程风格的被称作 面向过程…

滑动窗口最大值(java)

题目描述 给你一个整数数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1&#xff1a; 输入&#xff1a;nums [1,3,-1,-3,5,3,6,7]…

拥抱极简主义前端开发:NoCss.js 引领无 CSS 编程潮流

在前端开发的世界里&#xff0c;我们总是在不断追寻更高效、更简洁的方式来构建令人惊艳的用户界面。而今天&#xff0c;我要向大家隆重介绍一款具有创新性的工具 ——NoCss.js&#xff0c;它将彻底颠覆你对传统前端开发的认知&#xff0c;引领我们进入一个全新的无 CSS 编程时…

配置Springboot+vue项目在ubuntu20.04

一、jdk1.8环境配置 (1) 安装jdk8&#xff1a; sudo apt-get install openjdk-8-jdk (2) 检查jdk是否安装成功&#xff1a; java -version(3) 设置JAVA_HOME&#xff1a; echo export JAVA_HOME/usr/lib/jvm/java-17-openjdk-amd64 >> ~/.bashrc echo export PATH$J…