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

网站密码管理制度网络推广seo是什么

网站密码管理制度,网络推广seo是什么,深圳航空人工客服电话,上海网站建设服务器目录 一、高效数据渲染 二、map() 方法详解 三、join() 方法详解 四、正则表达式基础 五、正则表达式语法 六、元字符概念 本章聚焦 JavaScript 进阶知识,先围绕高效数据渲染展开,深入解析 map() 方法在数据处理映射、join() 方法在数组转字符串拼…

目录

一、高效数据渲染

二、map() 方法详解

三、join() 方法详解

四、正则表达式基础

五、正则表达式语法

六、元字符概念


本章聚焦 JavaScript 进阶知识,先围绕高效数据渲染展开,深入解析 map() 方法在数据处理映射、join() 方法在数组转字符串拼接的妙用;随后开启正则表达式学习之旅,从基础概念入手,讲解语法规则,剖析元字符等核心构成,助力读者掌握数据处理与文本匹配的关键技能 。

一、高效数据渲染

传统方式的问题

使用 innerHTML += 反复追加元素会导致:

  1. 频繁重绘和回流(性能差)

  2. 原有事件监听失效

  3. 代码可读性低

高效渲染四步法

// 1. 获取数据(从本地存储或API)
const students = JSON.parse(localStorage.getItem('students')) || [];// 2. 使用map生成HTML字符串数组
const htmlArray = students.map(student => {return `<tr><td>${student.id}</td><td>${student.name}</td><td>${student.score}</td></tr>`;
});// 3. 使用join拼接完整HTML
const tbody = document.querySelector('tbody');
tbody.innerHTML = htmlArray.join('');// 4. 添加事件监听(使用事件委托)
tbody.addEventListener('click', function(e) {if(e.target.tagName === 'TD') {console.log('点击了学生:', e.target.parentElement.children[1].textContent);}
});

⚠️ 关键优势

  1. 性能优化:单次DOM操作代替多次操作

  2. 内存高效:减少临时字符串创建

  3. 代码简洁:逻辑清晰易维护


二、map() 方法详解

核心概念

map() 遍历数组处理数据,返回新数组(不改变原数组)

语法结构

const newArray = array.map(function(currentValue, index, arr) {// 返回处理后的元素
});
参数说明
currentValue当前元素值
index当前元素索引
arr原始数组(可选)

应用示例

// 1. 数字数组转换
const prices = [100, 200, 300];
const salePrices = prices.map(price => price * 0.8);
console.log(salePrices); // [80, 160, 240]// 2. 对象数组提取
const users = [{id: 1, name: 'John'},{id: 2, name: 'Alice'}
];
const names = users.map(user => user.name);
console.log(names); // ['John', 'Alice']// 3. 添加DOM元素
const colors = ['red', 'green', 'blue'];
const colorDivs = colors.map(color => {const div = document.createElement('div');div.className = 'color-box';div.style.backgroundColor = color;return div;
});
document.body.append(...colorDivs);

❗ 与 forEach 的区别

方法返回值是否改变原数组适用场景
map()新数组数据转换处理
forEach()undefined单纯遍历执行操作

三、join() 方法详解

核心功能

将数组所有元素连接成单个字符串

语法结构

array.join(separator);
参数说明默认值
separator元素间分隔符(可选)逗号,

应用示例

// 1. 基础拼接
const fruits = ['苹果', '香蕉', '橙子'];
console.log(fruits.join());      // "苹果,香蕉,橙子"
console.log(fruits.join('-'));   // "苹果-香蕉-橙子"
console.log(fruits.join(''));    // "苹果香蕉橙子"// 2. 渲染表格行
const rows = ['<tr><td>A01</td><td>90</td></tr>','<tr><td>A02</td><td>85</td></tr>'
];
document.querySelector('tbody').innerHTML = rows.join('');// 3. 生成CSS类名
const btnClasses = ['btn', 'btn-primary', 'btn-lg'];
const className = btnClasses.join(' ');
console.log(className); // "btn btn-primary btn-lg"

性能对比

// 低效方式(大量字符串拼接)
let html = '';
for(let i=0; i<1000; i++) {html += `<div>Item ${i}</div>`; // 每次创建新字符串
}// 高效方式(数组join)
const items = [];
for(let i=0; i<1000; i++) {items.push(`<div>Item ${i}</div>`);
}
document.body.innerHTML = items.join('');

四、正则表达式基础

什么是正则表达式?

正则表达式(Regular Expression):用于匹配字符串中字符组合的模式

三大核心应用

应用场景说明示例
表单验证验证输入格式用户名:/^[a-z0-9_]{3,16}$/
敏感词过滤替换违规内容str.replace(/敏感词/g, '***')
数据提取从文本提取特定信息提取URL中的域名

实际应用场景

  1. 手机号验证:/^1[3-9]\d{9}$/

  2. 邮箱验证:/^\w+@\w+\.\w+$/

  3. 提取HTML标签内容:/<div>(.*?)<\/div>/

  4. 过滤SQL注入关键词:/(select|insert|delete)/i


五、正则表达式语法

两种定义方式

// 1. 字面量方式(推荐)
const reg1 = /前端/;// 2. 构造函数方式
const reg2 = new RegExp('前端');

检测方法

方法返回值适用场景
test()布尔值检查是否匹配
exec()数组/null获取匹配详细信息

test() 方法

const str = 'Web前端开发是IT热门方向';
const reg = /前端/;console.log(reg.test(str)); // true// 实际应用:表单验证
const phoneReg = /^1[3-9]\d{9}$/;
const isValid = phoneReg.test('13800138000');
console.log(isValid); // true

exec() 方法

const str = 'JS前端开发,Python后端开发';
const reg = /开发/;const result = reg.exec(str);
console.log(result);
/* 输出:
['开发',         // 匹配结果index: 3,      // 匹配位置input: 'JS前端开发,Python后端开发',  // 原始字符串groups: undefined
]
*/// 循环获取所有匹配
while ((result = reg.exec(str)) !== null) {console.log(`在位置 ${result.index} 找到:${result[0]}`);
}
/* 输出:
在位置 3 找到:开发
在位置 12 找到:开发
*/

六、元字符概念

普通字符 vs 元字符

类型说明示例
普通字符匹配自身a 匹配 "a"
元字符有特殊含义的字符\d 匹配数字

常用元字符速查表

元字符说明等效表达式
\d匹配数字[0-9]
\D匹配非数字[^0-9]
\w匹配字母数字下划线[a-zA-Z0-9_]
\W匹配非字母数字下划线[^\w]
\s匹配空白符(空格/制表等)[\t\r\n]
\S匹配非空白符[^\s]
.匹配除换行外的任意字符-
^匹配字符串开头-
$匹配字符串结尾-

元字符应用示例

// 1. 匹配手机号
const phoneReg = /^1[3-9]\d{9}$/;// 2. 匹配邮箱
const emailReg = /^\w+@\w+\.\w+$/;// 3. 提取日期
const dateStr = '2023-12-31';
const dateReg = /(\d{4})-(\d{2})-(\d{2})/;
const match = dateReg.exec(dateStr);
console.log(`年: ${match[1]}, 月: ${match[2]}, 日: ${match[3]}`); 
// 年: 2023, 月: 12, 日: 31// 4. 替换敏感词
const content = '这个产品真是垃圾,太差劲了!';
const filtered = content.replace(/垃圾|差劲/g, '**');
console.log(filtered); // "这个产品真是**,太**了!"

📚 学习资源

  1. MDN 正则表达式指南

  2. 正则表达式在线测试工具

  3. 正则可视化工具


✅ 核心要点总结

📝 高频面试题速答

  1. Q:map()和forEach()的区别?

    A:map()返回新数组,forEach()不返回值

  2. Q:join()方法的参数作用?

    A:指定元素间的连接符,默认是逗号

  3. Q:正则表达式的两种定义方式?

    A:字面量 /pattern/ 和构造函数 new RegExp('pattern')

  4. Q:test()和exec()的区别?

    A:test()返回布尔值,exec()返回匹配详情数组

  5. Q:\d 和 \D 分别匹配什么?

    A:\d匹配数字,\D匹配非数字


🧠 记忆口诀

"渲染两步走,正则三元配"

  • 两步走:map处理 → join拼接

  • 三元配:匹配、提取、替换

http://www.dtcms.com/wzjs/62709.html

相关文章:

  • 哪些网站可以做淘宝基础销量深圳网络营销的公司哪家好
  • 网站建设广告语推广赚钱平台
  • 东莞连衣裙 东莞网站建设日本预测比分
  • wordpress手动添加媒体百度seo新规则
  • 网站建设的公司在哪找优化什么
  • dz如何做门户网站在线种子资源库
  • 手机版网站模板 免费下载自制网站 免费
  • 免费网站建设案例中国没有限制的搜索引擎
  • 做网站花了三万块网站运营管理
  • 个人信息网站seo排名培训公司
  • wordpress垃圾插件网站如何优化排名软件
  • 做公司 网站建设价格长春seo排名外包
  • 班级做网站人的叫什么北京网站
  • 如何免费申请公司网站免费培训课程
  • 东莞网页设计培训中心百度seo学院
  • 网站建设有什么职位百度系app有哪些
  • 快速网站排名优化网络营销活动策划方案模板
  • 做海外代购的网站seo算法
  • wordpress建站要多久维普网论文收录查询
  • 全国加盟网站大全互联网论坛
  • wordpress.org建站创建网址链接
  • 医院做网站aso推广公司
  • 鹧鸪哨网站1v1深度开发百度pc网页版入口
  • wordpress素锦模板seo优化代理
  • 上海网站建设公司案例如何创建一个网站
  • 中职省级示范校建设网站武汉久都seo
  • 衡水企业网站建设价格搜外友链
  • 网站设置安全领硕网站seo优化
  • wordpress 免费注册seo基础教程视频
  • dw做网站是静态还是动态优化官网咨询