Blogger Information
Blog 63
fans 8
comment 8
visits 50362
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP大牛成长之路:ES6的模板自变量及模板标签
周Sir-BLOG
Original
1082 people have browsed it
  1. // 标签函数
  2. // tag(strings, ...values)
  3. let width = 100;
  4. let height = 30;
  5. // 标签后面的模板字面量必须要保证第一个和最后一个必须是字符串
  6. // let area = calculateArea`${width} * Height: ${height} = Area: ${width * height}`;
  7. // let area = calculateArea`${width} * ${height} = ${width * height}`;
  8. let area = calculateArea`<script>alert("width:${width},height:${height},Area:${width * height}")<\/script>`;
  9. // 定义这个标签对应的函数
  10. function calculateArea(strings, ...values) {
  11. console.log(strings);
  12. console.log(values);
  13. // 当前模板字面量中的字面量数组元素数量总是比表达式占位符数量多1
  14. // console.log(strings.length === values.length + 1);
  15. let result = "";
  16. for (let i = 0; i < values.length; i++) {
  17. result += strings.raw[i];
  18. result += values[i];
  19. }
  20. // 添加最后一个字符字面量到结果中
  21. result += strings.raw[strings.raw.length - 1];
  22. return result;
  23. }
  24. console.log(area);

总结:

1、模板字面量是增强版的字符串,它用反引号string标识;
2、ES6 使用模板字面量创建多行字符串更加简单(不需要加换行符);
3、变量占位符由起始的 ${ 变量名 }模板字面量中使用;
4、作业:自定义一个模板字面量,并使用标签模板进行处理,注意标签函数中的参数以及遍历方式(不理解,疑问如下:)

  • 4.1、标签后面的模板字面量必须要保证第一个和最后一个必须是字符串,我全部使用变量也没有问题?
  • 4.2、模板标签用途完全感受不到,反而感觉多此一举,函数返回字符串和我直接打印模板字面量有什么区别?

结论:感冒流着鼻涕听课,但还是没听懂,不明白模板标签应用场景,请老师指点。

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:模板字面量中,必须要保证, 字面量比占位符数量多一, 如果字面量是以占位符起始,会自动在其前后添加空字符,控制台可以看到... 还有,标签模板的功能极其强大, 感觉不到, 是没有接触到真正的前端工程 ,我们是php编程, 并非专业的前端教学, 有了这些基础,如果你有兴趣深入研究前端, 可以研究一下就明白了
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post