学习js的第八天【模板字符串】

一、模板字符串

1.用反引号创建的字符串叫模板字符串

var str=`helloword`

2.模板语法:`${变量}`

var message='word'
var str='hello':`${message}`
console.log(str)

3.作用

1>字符串拼接更方便

var a=20
var b=10
var c=`${a}+${b}=${a+b}`
console.log(c)

2>换行时不使用连接符(+),直接换行

​
var str=`<div>
           <h2></h2>
         </div>`

​

字符串模板列题:

//用js实现表格
<style>
        table {
            width: 1200px;
            border-top: 1px solid black;
            border-bottom: 1px solid black;
        }

        table th,
        tr,
        td {
            line-height: 40px;
        }
    </style>
<script>
        var students = [{
                number: 1001,
                name: 'jack',
                score: 98,
                gender: '男'
            },
            {
                number: 1002,
                name: 'rose',
                score: 95,
                gender: '女'
            },
            {
                number: 1003,
                name: '小丽',
                score: 85,
                gender: '女'
            },
        ]
        var trStr = ''
        students.forEach(function (item) {
            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>

二、严格模式

不严谨:1.变量不声明也能使用

            2.函数形参可以重复(后者覆盖前者)

开启严格模式:<script> 'use strict' </script>

三、ASCll码

1.ASCLL码:美国标准信息编码,有128个字符---->只支持拉丁文,英文

2.中文简体编码:GBK---->汉字内码扩展规范---->共记录了21003个汉字或GB2313

3.unicode编码:万国码,统一码。(UTF-8就是一种8位的unicode字符集)

列题:charCodeAt方法求字符串字节长度

var str='javascript求字符串字节长度'
var count=0
for(var i=0;i<str.length;i++){
  if(str.charCodeAt(i)>255){       //得到当前数组下标的unicode码
      count+=2
    }else{
           count+=1}
   }
console.log('字符串字节长度位:'+count)

统计不同字符出现的次数

思想:用一个空对象来装字符,用if判断是否存在,存在加一,不存在当赋值语句赋给对象

           循环遍历数组

注:if条件表达式值位undefined,null,'',0自动转为布尔值flase

var str='acbdacefdceacbdb'
var obj={}  //用来装字符出现的次数数据
function fun(){
   for(var i=0;i<str.length;i++){
  var chars=str.chaAt(i)  //拿到字符
  if(obj[chars]){
      obj[chars]++
     }else{
            obj[chars]=1}
 }
 for(var key in obj){
   console.log('字符:'+key+'出现的次数:'+obj[chars])}
}fun()

四、数学对象Math【类对象

1.作用:处理数学问题

2.创建方式:不需要使用构造函数创建,它比较特殊直接使用就可以,这样的对象称为类对象

3.方法random随机

用Math.random()来生成0-1之间的随机数,生成数字包括0,不包括1

4.取整方法round,ceil,floor

Math.ceil--->向上取整,如10.1取整为11

Math.floor--->向下取整,如10.9取整为10

Math.round--->四舍五入

5.绝对值abs:Math.bas()-->取绝对值

6.最大值max:console.log(Math.max(1,2,3,4))-->得到最大值为4

7.最小值min:console.log(Math.min(1,2,3,4))-->得到最大值为1

列题:生产m到n之间的随机

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)
  console.log(r)

 0~10随机数10000个,统计出现次数

var obj={}
function getRandom(){
 for(var i=0;i<10000;i++){
    var r=Math.floor(Math.random()*10)
     if(obj[r]){
         obj[r]++
      }else{
             obj[r]=1}
   }
    for(var key in obj){
      console.log('数字'+key+'出现的次数'+obj[key])}
}getRandom()
                 
 
  

实现表格

 <style>
        table {
            width: 1200px;
            border-top: 1px solid black;
            border-bottom: 1px solid black;
        }

        table th,
        tr,
        td {
            line-height: 40px;
        }
    </style>
 <script>
        var students = [{
                number: 1001,
                name: 'jack',
                score: 98,
                gender: '男'
            },
            {
                number: 1002,
                name: 'rose',
                score: 95,
                gender: '女'
            },
            {
                number: 1003,
                name: '小丽',
                score: 85,
                gender: '女'
            },
        ]
        var trStr = ''
        students.forEach(function (item) {
            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>
//用map实现表格:
<style>
        table{
            width: 1200px;
            margin: 0 auto;
        }
        table th,tr,td{
            text-align: center;
            line-height: 40px;
            border-bottom:1px dotted black;
        }
    </style>
 <script>
        var students = [{
                number: 1001,
                name: 'jack',
                score: 98,
                gender: '男'
            },
            {
                number: 1002,
                name: 'rose',
                score: 95,
                gender: '女'
            },
            {
                number: 1003,
                name: '小丽',
                score: 85,
                gender: '女'
            },
        ]
        var newArr=students.map(function(item){
            return `<tr>
                      <td>${item.number}</td>
                      <td>${item.name}</td>
                      <td>${item.score}</td>
                      <td>${item.gender}</td>
                    </tr>`
        })
        var str=newArr.join('')
        var newStr=`<table>${str}</table>`
        document.write(newStr)
    </script>

渲染表格:

 <style>
        table {
            width: 1200px;
            margin: 0 auto;
            border: 1px solid black;
        }

        table th,
        tr,
        td {
            text-align: center;
            line-height: 60px;
            border-bottom: 1px dotted black;
            /* border: 1px solid black; */
            /* width: 90px; */
        }

        input {
            width: 40px;
            text-align: center;
        }

        img {
            margin-top: 30px;
        }
    </style>
 <script>
        var productList = [{
                id: '商品编号',
                name: '商品信息',
                url: '商品图片',
                price: '商品价格',
                num: '商品数量',
                singlePrice: '商品总价',
                state: '操作'
            },
            {
                id: 1001,
                name: 'js高级编程',
                url: 'images/1.jpg',
                price: 68.90,
                num: 2,
                singlePrice: '¥0',
                state: '移入收藏',
                state1: '删除'
            },
            {
                id: 1002,
                name: 'css高级编程',
                url: 'images/2.jpg',
                price: 55.89,
                num: 3,
                singlePrice: '¥0',
                state: '移入收藏',
                state1: '删除'
            },
            {
                id: 1003,
                name: 'html高级编程',
                url: 'images/2.jpg',
                price: 45.89,
                num: 4,
                singlePrice: '¥0',
                state: '移入收藏',
                state1: '删除'
            }
        ]
        var str=''
        productList.forEach(function (item,index) {
            if (index == 0) {
                 str=str+`<tr>
                      <td>${item.id}</td>
                      <td>${item.name}</td>
                      <td>${item.url}</td>
                      <td>${item.price}</td>
                      <td>${item.num}</td>
                      <td>${item.singlePrice}</td>
                      <td>${item.state}</td>
                    </tr>`
            } else {
                 str=str+`<tr>
                      <td>${item.id}</td>
                      <td>${item.name}</td>
                      <td><img src="${item.url}" alt="商品图片"></td>
                      <td>${item.price}</td>
                      <td><button>-</button><input placeholder="0"><button>+</button></td>
                      <td>${item.singlePrice}</td>
                      <td><span>${item.state}</span><br><span>${item.state1}</span></td>
                    </tr>`
            }


        })
        var newStr = `<table>${str}</table>`
        document.write(newStr)
    </script>

相关文章

显卡天梯图2024最新版,显卡是电脑进行图形处理的重要设备,...
初始化电脑时出现问题怎么办,可以使用win系统的安装介质,连...
todesk远程开机怎么设置,两台电脑要在同一局域网内,然后需...
油猴谷歌插件怎么安装,可以通过谷歌应用商店进行安装,需要...
虚拟内存这个名词想必很多人都听说过,我们在使用电脑的时候...
win11本地账户怎么改名?win11很多操作都变了样,用户如果想要...