JavaScript核心知识点总结:正则、window对象与原型链
需积分: 10 95 浏览量
更新于2024-08-05
收藏 8KB MD 举报
"JavaScript知识重点总结"
在JavaScript中,正则表达式是一种强大的文本处理工具,用于匹配、查找、替换等操作。在提供的内容中,提到了几个常用的正则表达式示例:
1.1 判断App运行环境是安卓还是iOS:
```javascript
/Android|iPhone/i.test(navigator.userAgent)
```
这段代码利用正则表达式匹配`navigator.userAgent`中的关键词,如果用户代理字符串包含"Android"或"IPhone",则表明是在移动设备上运行。
1.2 验证6-12位首字符为字母,其余可为字母、数字或下划线的字符串:
```javascript
/^[a-zA-Z]\w{5,11}$/
```
这里`^`表示字符串的开始,`[a-zA-Z]`匹配任意字母,`\w`代表字母、数字或下划线,`{5,11}`限制其出现次数为5到11次,`$`表示字符串的结束。
2. window对象的子对象包括navigator和location,它们在网页交互中起着重要作用:
2.1 navigator对象:
`navigator.userAgent`返回用户代理字符串,包含了浏览器和设备的信息,开发者可以据此判断用户的设备类型。
2.2 location对象:
`location.href`属性用于获取或设置当前页面的URL,实现页面跳转。`location.reload()`方法用来重新加载当前页面。
3. 字符串方法:
- `str.indexOf()`: 查找子字符串在原字符串中的位置。
- `str.split()`: 将字符串分割成数组。
- `str.toLowerCase()`和`str.toUpperCase()`: 分别将字符串转换为小写和大写。
- `str.reverse()`: 反转字符串顺序。
- `str.substring()`: 提取字符串的一部分。
4. 数组方法:
- `arr.push()`: 在数组末尾添加元素。
- `arr.pop()`: 删除并返回数组的最后一个元素。
- `arr.join()`: 将数组元素连接成字符串。
- `arr.shift()`: 删除并返回数组的第一个元素。
- `arr.unshift()`: 在数组开头添加元素。
- `arr.splice()`: 添加或删除数组元素。
- `arr.slice()`: 获取数组的一部分。
- `arr.sort()`: 对数组进行排序。
5. rem单位:
rem(root em)是CSS中的长度单位,它的值是相对于根元素(通常是html元素)的字体大小的。使用rem可以方便地进行响应式设计,统一调整整个页面的缩放比例。
6. 原型链:
在JavaScript中,每个对象都有一个原型对象,可以通过构造函数的`prototype`属性访问。当试图访问对象的一个属性时,如果该对象本身没有这个属性,JavaScript会沿着原型链向上查找,直到找到该属性或者到达原型链的顶端(即`null`)。这就是原型链的工作原理,它使得实例对象能够共享构造函数原型上的属性和方法。每个对象的`__proto__`属性指向其构造函数的原型对象,而原型对象也有自己的`__proto__`,形成一个链式结构。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2024-03-31 上传
2024-03-31 上传
2024-03-31 上传
2024-03-31 上传
2024-03-31 上传
2023-08-11 上传
奔跑的小野马976
- 粉丝: 0
- 资源: 1
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析