JavaScript 笔记(正在施工中)

AI
Dot GPT
AI初始化中...
召唤AI助手 🤖
随机技术贴士 🎲
探索延伸阅读 📚
返回主基地 🚀
前往爱发电购买
JavaScript 笔记(正在施工中)
DotRedStone目录
巡查施工状况
一、JavaScript 引入方式
二、JavaScript 输出
三、数据类型
四、typeof
运算符
五、补充说明
六、字符串
七、数组
八、对象与内置对象
九、DOM 操作
一、JavaScript 引入方式
推荐在
<body> </body>
标签内引入
嵌入到 HTML
1
2
3
4<script>
// JavaScript 代码
console.log("Hello, World!");
</script>引入本地 JavaScript 文件
1
<script src="script.js"></script>
引入网络 JavaScript 文件
1
<script src="https://example.com/script.js"></script>
二、JavaScript 输出
alert()
1
alert("Hello, World!");
弹出警告框
console.log()
1
console.log("Hello, World!");
控制台输出
document.write()
1
document.write("Hello, World!");
页面输出(不推荐页面加载后使用)
三、数据类型
基本数据类型
- Number:数字
- String:字符串
- Boolean:布尔
- Undefined:未定义
- Null:空
- Symbol:唯一值
引用数据类型
- Object:对象
- Array:数组
- Function:函数
四、typeof
运算符
判断数据类型
1 | typeof 123; // "number" |
null
一般代表对象不存在,undefined
代表变量未定义
五、补充说明
比较运算符
===
和!==
:严格相等/不等(不做类型转换)==
和!=
:宽松相等/不等(会做类型转换)
for in
遍历对象1
2
3
4const obj = {name: "Alice", age: 30};
for (const key in obj) {
console.log(key, obj[key]);
}
六、字符串
引号嵌套与转义
- 单引号/双引号等价,可互相嵌套
- 内部引号需转义
\
- 多行字符串可用
\
续行
常用属性与方法
length
:字符串长度charAt(n)
:返回指定位置字符concat()
:拼接字符串substring(start, end)
:截取子串substr(start, length)
:截取指定长度子串indexOf(str, fromIndex)
:查找子串位置trim()
/trimStart()
/trimEnd()
:去除空白split(separator, limit)
:分割为数组
七、数组
定义
1
2
3let arr = [1, 2, 3];
let arr2 = [];
arr2[0] = "a";属性
length
:数组长度
常用方法
Array.isArray(arr)
:判断是否为数组push()
/pop()
:末尾添加/删除shift()
/unshift()
:头部添加/删除join(separator)
:数组转字符串concat()
:合并数组reverse()
:反转数组indexOf(item, fromIndex)
:查找元素索引
八、对象与内置对象
对象定义
1
2
3
4
5
6
7
8
9
10
11
12
13let user = {
name: "mingming",
age: 19,
getName: function() {
console.log(this.name);
},
container: {
width: 100,
height: 200,
getWidth: function() { return this.width; },
getHeight: function() { return this.height; }
}
};Math 对象
Math.abs(x)
:绝对值Math.max(a, b, ...)
/Math.min(a, b, ...)
:最大/最小值Math.ceil(x)
/Math.floor(x)
/Math.round(x)
:向上/下/四舍五入Math.random()
:0~1 随机数
Date 对象
Date.now()
:当前时间戳(毫秒)new Date()
:当前时间对象- 常用方法:
getTime()
,getFullYear()
,getMonth()
,getDate()
,getHours()
,getMinutes()
,getSeconds()
,getDay()
九、DOM 操作
节点类型
节点类型 nodeType 描述 示例 元素节点 1 HTML 元素 <div>
文本节点 3 文本内容 “Hello” 注释节点 8 注释 <!-- comment -->
文档节点 9 整个文档入口 document
文档类型节点 10 DOCTYPE 声明 <!DOCTYPE html>
查询节点
getElementById(id)
getElementsByTagName(tag)
getElementsByClassName(class)
querySelector(selector)
querySelectorAll(selector)
节点关系
parentNode
:父节点children
:子元素节点集合firstElementChild
/lastElementChild
previousElementSibling
/nextElementSibling
节点操作
- 创建:
createElement
,createTextNode
,createDocumentFragment
- 插入:
appendChild
,insertBefore
,prepend
- 修改内容:
textContent
,innerHTML
- 属性操作:
setAttribute
,getAttribute
,removeAttribute
- 样式操作:
style
,classList
- 删除:
remove()
,removeChild()
- 创建:
由于已学习其他静态语言,基础内容略,重点记录 JavaScript 特有语法和动态特性。
🚧 JavaScript施工前线报告
核心战区
undefined
与null
的终极对决仍在胶着中,预计胜负揭晓时间:当我能分清==
和===
的区别时4typeof null
返回”object”的宇宙级谜题:官方认证彩蛋,设计师下班前5分钟的”杰作”4高危区域
工程事故
安全提示
遇到undefined is not a function
请勿惊慌,这只是JS在玩捉迷藏👻
施工队长留言:乐高积木(数据类型)已备齐,说明书(DOM操作)被猫抓花了🐾
评论
匿名评论隐私政策