当前位置: 首页 > ds >正文

一文了解JavaScript对象

1. JavaScript对象分类

JavaScript中的对象主要可以分为三大类:

  1. 基本对象:如Array、String、JSON等
  2. BOM对象:浏览器对象模型,如Window、Location等
  3. DOM对象:文档对象模型,如Document、Element等

2. 基本对象

2.1 Array对象

创建数组
// 方式1
var arr1 = new Array(1,2,3,4);// 方式2(推荐)
var arr2 = [1,2,3,4];
数组特点
  • 长度可变(类似于Java中的集合)
  • 类型可变(1,a,true)
  • 未赋值的元素为undefined
常用属性和方法
属性/方法描述示例
length数组长度arr.length
forEach()遍历数组arr.forEach(e => console.log(e))
push()添加元素到末尾arr.push(5)
splice()删除元素arr.splice(1,2)

2.2 String对象

创建字符串
// 方式1
var str1 = new String("Hello");// 方式2(推荐)
var str2 = "Hello";
常用属性和方法
属性/方法描述示例
length字符串长度(算空格)str.length
charAt()获取指定位置的字符str.charAt(0)
indexOf()查找子串位置str.indexOf("el")
trim()去除两端空格str.trim()
substring()截取子串str.substring(1,3)

2.3 JSON对象

自定义对象
var person = {name: "张三",age: 20,sayHello: function() {console.log("你好!");}
};
JSON格式
{"name": "李四","age": 25,"hobbies": ["读书", "运动"]
}
JSON转换
// JSON字符串转对象
var obj = JSON.parse('{"name":"王五"}');// 对象转JSON字符串
var jsonStr = JSON.stringify(obj);

3. BOM对象

3.1 Window对象

常用方法
方法描述示例
alert()警告框alert("提示")
confirm()确认框confirm("确定吗?")
setInterval()定时器(循环)setInterval(fn, 1000)
setTimeout()定时器(单次)setTimeout(fn, 1000)
<script>//window对象是全局对象,window对象的属性和方法在调用时可以省略window.window.alert("Hello BOM");alert("Hello BOM Window");
</script>

3.2 Location对象

常用属性
// 获取当前URL
console.log(location.href);// 跳转到新页面
location.href = "https://www.baidu.com";

4. DOM对象

4.1 获取DOM元素

方法描述示例
getElementById()通过id获取document.getElementById("myId")
getElementsByTagName()通过标签名获取document.getElementsByTagName("div")
getElementsByName()通过name属性获取document.getElementsByName("username")
getElementsByClassName()通过class获取document.getElementsByClassName("myClass")

4.2 操作元素属性

// 修改元素内容
var div = document.getElementById("myDiv");
div.innerHTML = "新内容";// 修改元素样式
div.style.color = "red";

操作案例

JavaScript 事件处理案例代码解析与示例

http://www.xdnf.cn/news/5736.html

相关文章:

  • Kotlin与Ktor构建Android后端API
  • RWA开发全解析:技术架构、合规路径与未来趋势
  • Matlab 汽车制动纵向动力学模型和PID控制
  • Webpack中Compiler详解以及自定义loader和plugin详解
  • 用python清除PDF文件中的水印(Adobe Acrobat 无法删除)
  • 机架式服务器是什么?机架式/塔式/刀片式三大服务器类型区别与选型全解析
  • vue3+flask+sqlite前后端项目实战
  • 谱聚类,大模型
  • uniapp 复刻 keep 跑步运动轨迹 (获取当前经纬度信息)
  • Java实现MCP server,配合DeepSeek和达梦数据库,实现基于企业数据库的智能问答
  • 在Windows 境下,将Redis和Nginx注册为服务。
  • uniapp使用npm下载
  • 《数字人 :生成之旅》
  • 第二十五节:轮廓检测-轮廓特征 (面积、周长、边界框等)
  • 前端面试宝典---webpack面试题
  • 【Linux】在Arm服务器源码编译onnxruntime-gpu的whl
  • Spring Boot异步任务失效的8大原因及解决方案
  • 四、STM32 HAL库API完全指南:从功能分类到实战示例
  • Hadoop区别
  • Dagster Pipes系列-1:调用外部Python脚本
  • 【CF】Day57——Codeforces Round 955 (Div. 2, with prizes from NEAR!) BCD
  • 利用散点图探索宇航员特征与太空任务之间的关系
  • BUUCTF 大流量分析(三) 1
  • 开源链动2+1模式AI智能名片S2B2C商城小程序赋能新微商服务能力升级研究
  • 主从架构:技术原理与实现
  • python实现usb热插拔检测(linux)
  • 【Nova UI】十三、打造组件库之按钮组件(中):样式雕琢全攻略
  • 【学习笔记】机器学习(Machine Learning) | 第六章(2)| 过拟合问题
  • 编程题 02-线性结构3 Reversing Linked List【PAT】
  • WebFlux vs WebMVC vs Servlet 对比