js:字符串应用、字符串编码、对象的概念和方法、内置对象Math、本地对象date-第八天

# 一、 复习

1、ES5严格模式

    - 开启方式"use strict"

    - 开启之后的变化

2、新增数组的方法0

    - 数组.index()

    - 数组.forEach()

    - 数组.map()

    - 数组.filter()

    - 数组.some()

    - 数组.every()

    - 数组.reduce()

# 二、字符串的应用

1、字符串是元数据的一种,是数据最原始的形式

    - 主要应用于配合其他功能语句使用

    - 配合像页面输入内容的打印语句,可以实现动态html结构

        - 元素innerHTML = ''

        - docunment.writ

    - 当功能无法接收其他类型时(数值、布尔、对象、变量),会使用字符的形式传递

    - 作为程序中某些功能的状态使用

2、字符串拼接

    - 使用(+)加号进行拼接,当加号两边有一个字符那就把另外一个数据也作为字符,进行操作

    - 配合向页面打印的语句

# 三、字符编码

1、字符编码:计算机只能识别0和1,我们向计算机输入的任何信息最终都会转成0和1,但是并不是所有信息都能直接转成二进制,所以需要一些过渡进制进行转换,这些过渡进制 成为字符编码

2、分类:

    - Unicode编码:统一码,包含了所有的字符编码

    - 使用4位的十六进制表示一个字符

        - 十六进制转成十进制

        - 十进制转成二进制

    - ASCII码:字符集,美国信息交换标准码

    - GBK:汉字内码扩展规范,专指中文

    - UTF-8编码:用于区分网页平台,基于Unicode编码的可变长度的字符编码,也是万国码,用于区分网页平台

3、字符编码的转换 - 字符和Unicod编码(十进制)的转换

    - str.charCodeAt(索引);

        - 得到十进制的Unciod编码

    - String.fromCharCode(十进制或者十进制的Unicod编码)

        - 十六进制的表示方法‘0x’开头

        - 不支持'\u'开头的Unicod编码

4、常见的字符编码

    `- a~z:97~122`

    `- A~Z:65~90`

    `- 0~9:48~57`

# 四、对象

1、对象:描述了某个具体的事物的所有信息的打包或集合

    - 对象:数据的无序集合

    - 数组:数据的有序集合

2、对象的优势

    - 提升了信息的查找速度

    - 提升了信息的传输速度

3、对象的组成

    - 键值对,键和值成对出现,键和值使用冒号链接,键值之间使用逗号隔开

4、对象的意义

    - 存储数据

    - 编程

5、对象的操作

    - 点语法

    - 中括号语法:

6、对象的操作

    - 增改查

    - 删:delete对象,key

7、对象的分类

    - 宿主对象:寄生于某个平台的对象

        - `window,document`

    - 本地对象:本质是构造函数,需要通过new执行才能得到真正的对象

        - `String,Number,Boolean,Object,Array,Date,RegExp`

        - 可以作为函数直接使用:`String(), Numebr(), Boolean()`

        - 可以作为对象直接使用:`String.fromCharCode()`

        - 可以作为构造函数被new执行:`new Array(),new String()`

    - 内置对象:官方提供,不需要经过任何处理和执行,可以直接使用

        - `Math`

            - `Math.round()`

8、在浏览器js中,顶层对象就是window

    - 在js中所有的全局变量中和函数都属于window

    - window在使用过程中,可以被省略

    - 利用window可以在局部作用域合法的声明的全局变量

    - 没有明确隶属对象的函数内的this指向window(非严格模式)

9、this是一个特殊的对象,是一个指向,默认指向window;  

    - 一般在函数中,在执行的一瞬间会被重新绑定一个具体的指向,this表述当前函数的执行对象

    - this的指向必然是对象,如果强行修改成非对象,this也会自动转成对象

# 五、内置对象 - Math

1、Math对象是一个数学对象,提供了各种数学操作

2、方法

    - 四舍五入取最近的整数 Math.round()

    - 0~1的随机整数 Math.random()

    - 绝对值 Math.abs()

    - 向下取整 Math.floor()

    - 向上取整 Math.ceil()

    - 取最小值 Math.min()

    - 取最大值 Math.max()

    - x的y次方 Math.pow()

    - 开平方 Math.sqrt()

    - 正弦 Math.sin()

    - 余弦 Math.cos()

    - 正切 Math.tan()

    ```

    console.log(Math.sin(90/(180/Math.PI)));

    console.log(Math.cos(90/(180/Math.PI)));

    console.log(Math.tan(90/(180/Math.PI)));

    console.log(Math.PI);

    console.log(Math);

    ```

3、Mat的属性

    - 圆周率:Math.PI

        - 约等于:3.14159265358

4、范围随机数

# 六、本地对象 - Date

1、Date:日期,用来获取计算机的日期和时间。

2、获取:获取当前时间

    - 获取当前的时间戳:Date.now()

        - 时间戳:从1970年1.1 0:0,到此刻的毫秒数

    - 获取完整的日期对象:new Date()

        - 获取到的是一个对象类型的日期,包含日期中所有的部分,但是需要解析

    - 获取日期对象中的每个部分

3、设置:设置指定日期时间

    - 创建时,设置指定日期。一般只用来设置日期,而不设置时间,时间会清0

        - `new Date(参数)`

        - 字符参数:

            - 一个参数

            - 月份的范围:1~12

            - 没有设置的部分,清0

            - 超出上限,`Invalid Date`

        - 数值参数:

            - 多个参数

            - 月份的范围:0~11

            - 没有设置的部分,清0

            - 超出上限,向前一位进1

    - 创建后,设置指定日期,一般用来专门设置某个部分,其他没有设置的部分,以当前日期时间为准

        - `var d = new Date()`

        - `d.setxxx()`

        - 一个方法一个参数

        - 月份的范围:0~11

        - 没有设置的部分,以当前日期时间为准

        - 超出上限,向前一位进1

        - 设置时间戳:设置从1970.1.1 0:0:0过去了的毫秒数

            - d.setTime(毫秒数);

4、计算两个日期之间的差值

    - 日期可以直接进行计算

    - 直接利用时间戳进行差值计算

    - 注意单位换算

5、get获取

    - set赋予


 

```

var d= new Date();

    console.log(d);


 

    console.log(d.getFullYear());

    console.log(d.getMonth());

    console.log(d.getDate());

    console.log(d.getDay());  //星期几

    console.log(d.getHours());

    console.log(d.getMinutes());

    console.log(d.getSeconds());

    console.log(d.getMilliseconds());   //返回当前时间的毫秒数


 

    console.log(d.getTime());         //返回距1970年的毫秒数

    设置日期

    字符参数:

        一个参数

        没有设置的部分清零

        月份的范围:1~12

    var  d = new Date('2008.8.8');

    var  d = new Date('2008.8.38');

    var  d = new Date('2008.8.8 10:8:30');

    var  d = new Date('2008-8-8');

    var  d = new Date('2008/8/8');


 

    数值参数

        d多个参数

        月份的范围:0~11

        超出上限,向前进1

    var  d = new Date(2008,8,8);

    var  d = new Date(2008,8,38);

    var  d = new Date(2008,8,8,10,10,10);



 

    创建后,设置指定日期,一般用来专门设置某个部分,日期部分以当前日期为准

        没有设置的部分,以当前的时间为准

        月份范围0~11

        没有设置部分,跟随当前时间

        超出上限,向前进1

    var d= new Date();

    d.setFullYear(2008);

    d.setMonth(8);

    d.setDate(8);

    d.setTime(100000000);

    console.log(d);

```

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值