一、模板字符串

var str=`hello`模板字符串

模板语法`${变量}`

${简单运算}

    <script>// +号连接字符function test2(){var a=10var b=20var c=a+'+'+b+'+'+'='+(a+b)document.write(c)}test2()//语法: ${简单运算}// 模板语法`${变量}`function test3(){var a=10var b=20var c=`${a}+${b}=${a+b}`document.write(c)}test3()function test4(){var str= '<div>'+' <h2>模板字符串</h2>'+'<p>作用</p>'+'  <p>拼接字符串</p>'+'</div>'document.write(str)}test4()//语法: ${简单运算}// 模板语法`${变量}`function test5(){var str=`<div><h2>模板字符串</h2><p>作用</p><p>拼接字符串</p></div>`document.write(str)}test5()</script>

模板字符串案例:

利用js实现一个动态的表格

方法一:

 js编程实现表格显示

1.静态表格

2.javascript代码显示静态表格

3.学生数据与表格关联

 <style>table {width: 1000px;margin: 50px, auto;}table tr {text-align: center;line-height: 30px;}table,th,tr,td {border-bottom: 1px solid gray;}</style>
<script>var students = [{ number: 1001, name: "jack", score: 98, gender: "男" },{ number: 1002, name: "rose", score: 95, gender: "女" },{ number: 1003, name: "小丽", score: 85, gender: "女" },{ number: 1004, name: "lucy", score: 75, gender: "女" },]// 先设置一个空字符串var trStr = ''// 利用forEach遍历数组students.forEach(function (item, index) {trStr = trStr + `<tr><td>${item.number}</td><td>${item.name}</td><td>${item.score}</td><td>${item.gender}</td></tr>`})var str = '<table>' + trStr + '</table>'document.write(str)
</script>

方法2:利用map和join实现表格

    <script>// map映射出一个新的数组,将遍历后的元素放在里面var trArr=students.map(function(item){return `<tr><td>${item.number}</td><td>${item.name}</td><td>${item.score}</td><td>${item.gender}</td></tr>`})//   用join将元素拼接在一起var trStr=trArr.join('')var str=`<table>${trStr}</table>`document.write(str)</script>

二、严格模式

1.变量在未声明的情况下也可以使用,不报错

2.函数名可以重复

开启严格模式

<script>'use strict'//严格模式num=100  //给变量赋值console.log('num',num)function fun(m,m){console.log('m',m,'m',m)}fun(100,200)</script>

未加'use strict'

可以正常运行不报错

加了之后出现错误:Uncaught SyntaxError: Duplicate parameter name not allowed in this context

'use strict'使JavaScript的代码更加严谨化

 练习:1.编写一个方法,求一个字符串的字节长度。 一个英文字符占用一个字节,一个中文字符占用两个字节

提示:中文字符unicode编码大于255

 <script>
function testUnicode() {var str = 'javascript编程实现学生表格显示'var count = 0for (var i = 0; i < str.length; i++) {//循环遍历字符串if (str.charCodeAt(i) > 255) {//当前字符是中文还是英文count += 2} else {count += 1}}console.log('字节长度为 :',count)}testUnicode()</script>

2.统计字符串中不同字符的出现次数?

'abcdefabcadefkmmkggcc'

分析:

Object{

a:3

b:2

c:4

d:2

}

计数器:

count=0

count++

1.定义一个空对象存储字符出现次数,属性名是字符,属性值

     <script>function getCountString(){var str='abcdefabcadefkmmkggcc'var obj={}//存储各个字符垂下那个次数(i)// 循环遍历字符串for(var i=0;i<str.length;i++){var chars=str.charAt(i)// 判断obj对象中是否已经有该字符// 当对象属性是变量时,使用中括号访问if(obj[chars]){obj[chars]++}else{obj[chars]=1}}// 遍历对象for-infor(var key in obj){console.log('key:',key+'  value:  ',obj[key])}}getCountString()</script>

三、Math数学对象

javascript内置对象

1.对象做什么,有什么功能

Object对象

存储名称值对的集合

Array数组

存储一系列有序数据的集合

String  字符串对象

2.创建方式

var obj=nae Object()

var obj={}

obj.name="jack"

var arr=new Array()

var arr=[]

arr.length

3.属性

length

4.方法

Math  数学对象

1.处理数学问题

2.创建方式

不需要使用构造函数,它比较特殊直接使用就可以,这样的对象成为类对象

Math.方法()

3.方法

Math.random()随机数

    <script>function test1(){var r=Math.random()//0~1  包含0,不包含1console.log(r)}test1()
</script>

Math.ceil()   向上取整

Math.floor()  向下取整

Math.round()  四舍五入

 <script>// 取整的方法function test2(){var num=10.1var num1=Math.ceil(num)//向上取整11var num2=Math.floor(num)//向下取整10var num3=Math.round(num)//四舍五入10console.log(num1)console.log(num2)console.log(num3)}test2()</script>

Math.abs()    取绝对值

 <script>function test3(){var num=-9var num1=Math.abs(num)//求绝对值console.log(num1)}test3()</script>

Math.max()     取最大值

Math.min()     取最小值

 <script>function test4(){var m=Math.max(37,21,35,47,65,99,82)//求最大值var m1=Math.min(37,21,35,47,65,99,82)//求最小值console.log(m)console.log(m1)}test4()</script>

案例:

1.生成指定范围随机数 m~n之间的随机数

分析:

0~10       Math.floor(Math.random()*10)

10~20      Math.floor(Math.random()*10+10)

20~30      Math.floor(Math.random()*10+20)

30~40      Math.floor(Math.random()*10+30)

40~50      Math.floor(Math.random()*10+40)

50~80      Math.floor(Math.random()*10+50)

m~n        Math.floor(Math.random()*(n-m)+m)

 <!-- 生成指定范围随机数 m~n之间的随机数 --><script>function getRandom(x,y){var n=Math.max(x,y)var m=Math.min(x,y)return Math.floor(Math.random()*(n-m)+m)}var r=getRandom(20,30)document.write(r)</script>

2.生成10000个随机数0~10,统计每个随机数出现次数

分析:

1.0~10随机数

Math.random()   0~1

Math.random()*10

2.循环10000次

3.统计每个随机数出现的次数

 <script>var obj = {}//记录随机数出现的次数,名称:随机数   值:次数for (var i = 0; i < 10000; i++) {var r = Math.floor(Math.random() * 10)//0~9if (obj[r]) {obj[r]++} else {obj[r] = 1}}console.log(obj)</script>

四、进制之间的转换

进制与进制的转换

进制

计数的一种方式,现实生活中一般十进制计数

十进制  0 ~ 9

+1

10

满十进一

二进制  0 ~ 1   计算机使用二进制

满二进一

10    11    100

+1

---------

100

2     3     4

八进制   0 ~ 7

满八进一

10  11

8    9

计算机区分(前面加0)

010

十六机制   0 ~ 9 A B C D E F

满十六进一

计算机区分(前面加0x)

0x10

     <script>function test1(){var num=010var num1=0x11console.log(num,num1)}test1()
</script>

进制转换

         十进制转其他进制

var num=100

->转二进制

num.toString(2)


<script>function test2(){var num=100console.log('二进制:',num.toString(2))console.log('八进制:',num.toString(8))console.log('十六进制:',num.toString(16))}test2()
</script>

             其他进制转十进制

parseInt(100,2)  ->  二进制转十进制

parseInt(100,8)  ->  八进制转十进制

<script>function test3(){var num=100console.log('二转十进制:',parseInt(num,2))console.log('八转十进制:',parseInt(num,8))console.log('十六转十进制:',parseInt(num,16))}test3()
</script>

javaScript模板字符串、严格模式、编码字节长度相关推荐

  1. JavaScript中字符串与Unicode编码的互相转换

    JavaScript中字符串与Unicode编码的互相转换 这段代码演示了JavaScript中字符串与Unicode编码的转换: // 为了控制台的演示方便, 变量没有添加 var 定义 // 实际 ...

  2. JavaScript模板字符串传参数

    JavaScript模板字符串传参数 JavaScript模板字符串传参数 JavaScript模板字符串传参数 <!DOCTYPE html> <html lang="e ...

  3. javascript模板字符串(标签函数)

    前面介绍了javascript的模板字符串的基本知识,今天深入学习一下标签函数 模板字符串概述 这里先简单说一下模板字符串的概念 1.模板字符串,从名字上可以得出其实返回的是字符串,普通使用其实就想引 ...

  4. JavaScript模板字符串

    JS模板字符串 1. 什么是模板字符串 ? 2. 模板字符串的用法 3. 模板字符串标签函数 1. 什么是模板字符串 ? 模板字符串:是允许嵌入表达式的字符串(可以使用多行字符串和字符串插值功能) 它 ...

  5. JavaScript模板字符串无用

    JS模板字符串直接输出 今天测试的时候发现以下问题: let value1 = 'test'; console.log('${value1}'); //${value1} 出现原因及解决方法:字符串使 ...

  6. Javascript的字符串String的编码之unicode的处理

    首先确定的是Ecmascript使用的是一种UTF-16的编码,但是这种编码却不是标准的UTF-16编码的处理方式. 前言 unicode 2.0引入了utf-16编码,unicode3.0更精确的定 ...

  7. 手撕前端面试题【javascript~模板字符串、类继承、参数解析器、生成页码等】

    前端的那些基本标签

  8. js通过字节长度截取中英文混合字符串

    /*** 截取字符串 中英文混合* @param str 待处理字符串* @param len 截取字节长度 中文2字节 英文1字节*/ function subString1(str, len){v ...

  9. js 获取字符串的UTF8编码

    蓝牙传递数据就转成字节流就行,即使用getUTF8Bytes()方法就行 // 获取字符串的utf8字节流function getUTF8Bytes(str) {var bytes = [];var ...

最新文章

  1. 美团是怎么玩儿AI的?今晚8点揭秘美团超大规模知识图谱--美团大脑
  2. 一盘红烧肉告诉你,本科、硕士和博士区别太大了!
  3. line-height 行高
  4. php扩展 静态库,编译PHP扩展的方法
  5. layui的富文本编辑器如何上传图片,以及后期处理
  6. WordPress删除重复文章插件
  7. android 用户界面教程实例汇总
  8. java 泛型 类型形参(Type Parameters) 类型
  9. 月薪2w的00后女财务,靠这套报表模板征服了老板
  10. All In One For Firefox 3
  11. TensorFlow 学习可视化 TensorBoard 简易教程
  12. 温度监视器的设计与制作
  13. 【权限设计】权限系统的设计——由浅至深
  14. 欧洲对地观测卫星和无人机发展现状简介
  15. 如何将F4V格式的视频转换成MP4格式 1
  16. 如何将CHM转换为PDF文件?
  17. 怎么找计算机驱动程序不正常怎么办,网卡驱动程序不正常怎么办,教您解决电脑网卡驱动程序不正常...
  18. AI创作教程之如何使用简单的 Web API 和 GPU 支持在 Docker 中运行 Stable Diffusion,在 45 秒内启动用于 Stable Diffusion的 Web API
  19. Oauth2是什么怎么用
  20. 职工线上健步走活动小程序方案,通过微信小程序实现功能,getElementById(“demo“).innerHTML=x

热门文章

  1. python调用脚本后退出但是保持脚本运行_Python脚本后台运行的几种方式
  2. python代码turtle是什么意思_python中turtle库中的Turtle()是什么,有什么用?
  3. 计算机博士复试英语自我介绍,2018年考博复试英语自我介绍范文汇总!
  4. 校区多,客情管理难?看中进教育使用明道云的新解法
  5. ICP备案与ICP许可证有什么区别?怎么办理ICP许可证?
  6. 第三章:资源,样式与模板
  7. GIC , SPI , PPI (窝窝科技的文章题目改了下)【转】
  8. 腾讯云 TRTC 监控仪表盘实用指南
  9. 【监控仪表系统】Grafana 中文入门教程 | 构建你的第一个仪表盘
  10. unity的HDR效果