day08——Math和Date

本文介绍了ES2015中字符串模板的使用,强调了严格模式在JavaScript开发中的重要性,包括变量声明、函数参数和this的规则。同时,讲解了ASCII、GBK和Unicode编码的区别,并概述了对象访问、数组和字符串的遍历方法。还讨论了Math对象的常用方法以及数字转换进制的概念。
摘要由CSDN通过智能技术生成

模板字符串

ES2015前,字符串拼接使用引号'', 但在换行操作和输出变量值时不方便

ES2015后, 字符串拼接使用反引号 `` ,引用变量时可以使用 ${变量名}

严格模式(了解) 

- 我们都知道 js 是一个相对不很严谨的语言

- 而且开发的时候,一些代码也不是很严格要求

- 而严格模式就是对开发的时候写的一些内容做了要求

不严格的体现:    

1. 声明变量可以不使用var关键字  

2. 形参重复      ...

开启严格模式


"use strict" 指令在 JavaScript 1.8.5 (ECMAScript5) 中新增。

它不是一条语句,但是是一个字面量表达式,在 JavaScript 旧版本中会被忽略。

严格模式可以应用到整个脚本程序或个别函数中


<script>    

        'use strict'    

        // 下面代码书写就要按照严格模式书写

</script>

function myFunction() {    

        // 函数级别严格模式语法    

        'use strict'    

        y = 3.14;   // 报错 (y 未定义)

}

严格模式的规则


  声明变量必须有 var 关键字


    声明变量时,没有var关键字,那么按照作用域规则会自动定义成全局变量
  函数的形参不可以重复
  声明式函数调用的时候函数内部没有 this

 为什么使用严格模式
  消除代码运行的一些不安全之处,保证代码运行的安全;
  提高编译器效率,增加运行速度;
  为未来新版本的Javascript做好铺垫。

ASCII码:

ASCII码 - as key
  - 计算机只能存储 0101010 这样的二进制数字
  - 那么我们的 a ~ z / A ~ Z / $ / @ /… 之类的内容也有由二进制数字组成的
  - 我们可以简单的理解为, a ~ z / A ~ Z / $ / @ /… 之类的内容都有一个自己的编号,然后在计算机存储的时候,是存储的这些编号, 我们看的时候,也是通过这些编号在解析成我们要看到的内容给我们看到
  ASCII码表 - 128个 

GBK
  汉字内码扩展规范
  共收录了21003个汉字

unicode 编码
  - 我们看到了,ASCII 只有这 128 个字符的编码结构
  - 但是因为 ASCII 出现的比较早,而且是美国发明的,早起时候这些内容就够用了
  - 因为存储一些英文的内容,传递一些英文的文章什么的都够用了
  - 那么对于这个世界来说肯定是不够用的
  - 因为我们的汉字没有办法存储,包括一些其他国家的语言也没有办法存储
  - 所以就出现了 unicode 编码,也叫(万国码,统一码)
  - unicode 对照表就是一个和 ASCII 一样的对照表,只不过变得很大很大,因为存储的内容特别的多
  - 而且包含了世界上大部分国家的文字,所以我们的文字和字符现在在存储的时候,都是按照 unicode 编码转换成数字进行存储
  - 我们的 UTF-8 就是一种 8 位的unicode字符集

charCodeAt方法


  中文字符unicode编码大于255
  

简单对象Object补充:

访问对象属性
  在JavaScript中,可以使用“ . ”和“ [ ] ”来访问对象的属性。
  二者区别:“ . ”表示法一般作为静态对象使用时来存取属性。 而“[ ]”表示法在动态存取属性时就非常有用。

for-in 遍历对象 for-of循环遍历数组、字符串
for-in 遍历对象            

        语法:            

        for(var key in obj){                

                //key属性                

                //obj[key]              

        }

for-of 遍历数组、字符串、也可以遍map集合

for(var v of arr){    

        //v数组元素    

        //v字符    

        //map元素

}  

        区别
for..of与for..in的区别,以下说法都正确  

A for in可以遍历对象,for of不能遍历对象

B for of可以用来遍历map集合,for in不能遍历map集合

C for in遍历数组得到的是数组的下标,for of遍历数组得到的是数组的元素

D for in遍历键  for of遍历值 
  总结: 

for-in 可以循环遍历对象,数组,字符串

遍历对象 访问对象属性,

遍历数组,访问数组索引号,

遍历字符串,访问字符串索引号

for-of

可以遍历数组,字符串和Map(集合,后面学习),

不能遍历对象

遍历数组,访问数组元素

遍历字符串,访问字符串字符元素 

访问对象的方法
  在JavaScript中,只能用“ . ”来访问对象的方法。

Math: 

 处理数学问题, 特点:不需要创建对象,直接类型名.方法 Math.方法()随机数random
  - Math.random() 这个方法是用来生成一个 0 ~ 1 之间的随机数
  - 每次执行生成的数字都不一样,但是一定是 0 ~ 1 之间的
  - 生成的数字包含 0 ,但是不包含 1

 

取整方法round,ceil,floor
  ceil


  floor


  round 

 

绝对值abs
  Math.abs() 是返回一个数字的绝对值

 

最大值max
  Math.max() 得到的是你传入的几个数字之中最大的那个数字
  console.log(Math.max(1, 2, 3, 4, 5)) // 5

最小值min

Math对象的方法
  abs(x) 返回数的绝对值
  acos(x)返回数的反余弦值
  asin(x)返回数的反正弦值
  atan(x)以介于-π/2与π/2弧度之间的数值来返回x的反正切值
  atan2(y,x)  返回从x轴到点(x,y)的角度(介于-π/2与π/2弧度之间)
  ceil(x)对数进行上舍入
  cos(x) 返回数的余弦
  exp(x) 返回e的指数
  floor(x)  对数进行下舍入
  log(x) 返回数的自然对数(底为e)
  max(x,y)  返回x和y中的最大值
  min(x,y)  返回x和y中的最小值
  pow(x,y)  返回x的y次幂
  random()  返回0~1之间的随机数
  round(x)  把数四舍五入为最接近的整数
  sin(x) 返回数的正弦
  sqrt(x)返回数的平方根
  tan(x) 返回角的正切
  toSource()  返回该对象的源代码
  valueOf() 返回Math对象的原始值

数字转换进制:  

进制
  0x表示十六进制,但是js会强制转换为十进制来运算,0xa == 10 0开头表示八进制,同样强制转换为十进制来运算 010 == 8

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值