js-day09

一.Math对象

提供一组数学相关的API

是一种特殊的对象,不需要通过new来创建对象,可以直接调用API

PI 获取圆周率

abs() 计算绝对值

floor()向下取整

ceil()向上取整

round()四舍五入取整

pow(x,y)计算x的y平方

max()获取一组数字最大值

min()获取一组数字最小值

random()获取随机数,范围0~1 [0,1)

双色球

红球:随机获取1~33之间的6个数字,不能重复,从小到大排列

篮球:随机获取1~16之间的6个数字,可以和之前的红球重复,将这组数字放入到一个数组

二、Date对象

用于日期时间的存储和计算

1.创建

new Date(‘2022/1/18  14:19:30’)

new Date(2022,0,18,14,19,30)//月份的范围0~11代表1~12月

new Date()//存储的是当前操作系统的时间

new Date(150000000000)//存储的是时间戳,距离计算机元年(1970-1-1 0:0:0)的毫秒数

2.获取

getFullYear()/getMonth()/getDate()

                月份0~11 代表1~12月

getHours()/getMinutes()/getSeconds()getMilliseconds()

getDay()星期,范围0~6,代表日~六

getTime()        时间戳

练习:创建Date对象,保存当前操作系统的时间,获取日期时间,打印以下格式        ‘今天是xxxx年xx月xx日        星期二’

3.转为本地字符串格式

存在兼容性问题,只能用于开发阶段

toLocalString()

toLocalDateString()        显示日期部分

toLocalTimeString()        显示时间部分

4.设置

用于修改日期时间

setFullYear()/setMonth()/setDate()

setHours()/setMinutes()/setSeconds()/setMilliseconds()

setTime()设置时间戳,产生新的日期时间

5.拷贝Date对象

var d1=new Date();

//拷贝d1这个Date对象

var d2=new Date(d1);

练习:创建Date对象,保存一个员工的入职时间2022/2/10,假设合同期为3年,计算出到期时间;最后打印出两组日期时间的本地字符串形式

        入职时间:xx...

        到期时间:xx...

 三、Number对象

new Number()    将一个数字包装为对象

Number()将一个值强制转换为数字

toFixed(n)强制保留小数点后n位

四、Boolean对象

new Boolean() 将一个布尔型值包装为对象

Boolean()将一个值强制转换为布尔型

!!值        把一个值隐式转换为布尔型

function getDays(time){
    var now=new Date(time);
    var getYear=now.getFullYear();
    var firstDay=new Date(getYear.toString());
    var thisDay=new Date(time);
    var Times=(thisDay-firstDay)/1000;
    var d=Math.ceil(Times/(3600*24))+1;
    return d +'天';

}
console.log(getDays('2019/5/30'));

4.模板字符串  
简化了字符串拼接
模板字符串${`JS表达式`}

//练习:假设从后端获取到了一条商品数据,格式为对象,

//包含的属性有标题、价格、是否在售(1/0),打印出以下格式

//标题:xx

//价格:xx.00元

//是否在售:是/否

 

 

 三、Node.js概述
Node.js是JS在服务器的运行环境,可以让JS实现后端开发
www.nodejs.org   官网

www.nodejs.cn 中文版

 

 1.对比JS和Node.js

JS运行在客户端浏览器,有多款浏览器,存在代码兼容性问题;
Node.js运行在服务器端,只有一种解释器,不存在代码兼容性问题。

两者都有相同的自定义对象和内置对象,不同的宿主对象
JS用于开发浏览器端交互效果,Node.js用于服务器端开发,例如:访问数据库、调用其它服务器..

2.运行JS
(1)脚本模式
node  拖拽文件   回车
(2)交互模式
node   回车   进入交互模式
两次  ctrl+c  或者  ctrl+d   退出交互模式

四、全局对象

1.global对象

用来检测是否为全局,JS下global名称为window

一个js文件在Node.js下是在一个独立的作用域;

一个js文件在JS下是在全局作用域下

练习:编写脚本文件04_global.js,声明变量和创建函数,使用global检测是否为全局的

var a=1;
function fn(){
    return 2;
}
console.log(global.a);
console.log(global.fn());

2.console 对象

console.log(1);//打印日志

console.info(2);//打印消息

console.warn(3);//打印警告

console.error(4);//打印错误

console.time();  //开始计时

console.timeEnd();    //结束计时

注意事项:开始计时和结束计时的值保持一致

3.Buffer 缓冲区

缓冲区:是内存中用于临时存储数据的区域

Buffer.alloc(5,‘abcde’); //创建Buffer,分配内存空间,为5个字节,并存储字符,每个中文字符占3个字节

buf.toString() //将Buffer数据转为字符串

五.模块系统

模块:代表的是一个功能体,每个文件就是一个模块

module.exports:暴露的对象,默认是一个空对象

require();是一个函数,用于引入其它的模块,回到暴露的对象

练习:创建主模块(main.js)和功能模块(circle.js),在主模块下创建两个函数,传递半径,返回周长和面积;最后在主模块下引入功能,并调用两个函数

//创建主模块(main.js)和功能模块(circle.js),在主模块下创建两个函数,传递半径,返回周长和面积;

//最后在主模块下引入功能,并调用两个函数

let obj=require('./circle.js')

obj.myarea(2);

obj.mygirth(3);

function girth(radii){

    let pi=Math.PI;

    girth=PI*radii*2;

    console.log(girth.toFixed(2));  

}

girth(5)

function area(radii){

    let pi=Math.pi;

    area=Math.pow(radii,radii)*pi;

    console.log(area.toFixed(2));

}

area(5);

module.exports={

    mygirth:girth,

    myarea:area

}

                

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值