各种对象的属性和方法使用

一.Math对象

Math对象也叫数学对象用于算术运算

1.1 Math对象的属性

console.log(`圆周率:${Math.PI}`)
console.log(`算术常量e,自然对数的底数:${Math.E}`)
console.log(`返回2的自然对数:${Math.LN2}`)
console.log(`返回10的自然对数:${Math.LN10}`)
console.log(`返回以2为底的e的对数:${Math.LOG2E}`)
console.log(`返回以10为底的e的对数:${Math.LOG10E}`)
console.log(`返回2的平方根的倒数:${Math.SQRT1_2}`)
console.log(`返回2的平方根:${Math.SQRT2}`)

运行结果:

1.2Math对象的方法

console.log(`绝对值:${Math.abs(-12.3)}`);
console.log(`点的弧度:${Math.atan2(30,40)}`);
console.log(`对数进行上舍入:${Math.ceil(-12.3)}`);
console.log(`对数进行下舍入:${Math.floor(12.3)}`);
console.log(`对数进行四舍五入:${Math.round(-12.6)}`);
console.log(`两个数的最大值:${Math.max(123,234)}`);
console.log(`两个数的最小值:${Math.min(123,234)}`);
console.log(`两个数的最大值:${Math.max(123,234)}`);
console.log(`0-1的随机数:${Math.random()}`);
// 1-3的随机数  Math.random()*(最大值-最小值+1)+最小值
let num=Math.random()*(3-1+1)+1
console.log(parseInt(`${num}`));
console.log(`平方根:${Math.sqrt(9)}`);

运行结果:

二. Number对象

Number对象是原始数值的包装对象

2.1 NUmber对象的属性

console.log('最大的数:'+Number.MAX_VALUE)
console.log('最小的数:'+Number.MIN_VALUE)
console.log('负无穷大:'+Number.NEGATIVE_INFINITY)
console.log('正无穷大:'+Number.POSITIVE_INFINITY)
//NaN 非数字
console.log(parseInt('assd'));

运行结果:

2.2Number对象的方法

//保留N位小数
console.log(1234.567.toFixed(2));

运行结果:

三. Boolean对象

Boolean对象表示两个值: true:真    false:假

四. Date对象

Date对象用于处理日期和时间

Date对象的方法

//日期 当前日期
let now:Date=new Date()
console.log(now);
console.log(`号:${now.getDate()}`);
console.log(`月:${now.getMonth()+1}`);
console.log(`年:${now.getFullYear()}`);
console.log(`年:${now.getUTCFullYear()}`);
console.log(`时:${now.getHours()}`);
console.log(`分:${now.getMinutes()}`);
console.log(`秒:${now.getSeconds()}`);
console.log(`毫秒:${now.getMilliseconds()}`);
console.log(`返回一周的某一天:${now.getDay()}`);
console.log(`返回本地时间与格林威治标准时间的分钟差${now.getTimezoneOffset()}`);
console.log(`根据世界时从Date对象返回月中的一天:${now.getUTCDate()}`);
console.log(`根据世界时从Date对象返回周中的一天:${now.getUTCDay()}`);
console.log(`根据世界时从Date对象返回月份(0~11):${now.getUTCMonth()+1}`);
console.log(`根据世界时从Date对象返回四位数的年份:${now.getUTCFullYear()}`);
console.log(`根据世界时返回Date对象的小时:${now.getUTCHours()}`);
console.log(`根据世界时返回Date对象的分钟:${now.getUTCMinutes()}`);
console.log(`根据世界时返回Date对象的秒钟:${now.getUTCSeconds()}`);
console.log(`根据世界时返回Date对象的毫秒:${now.getUTCMilliseconds()}`);

let a=new Date()
a.setDate(15)
console.log(`设置Date对象中的某一天(1-31):${a}`);
a.setMonth(9)+1
console.log(`设置Date对象中的月份:(0-11):${a}`);
a.setFullYear(2025)
console.log(`设置Date对象中的年份:${a}`);
a.setHours(20)
console.log(`设置Date对象中的小时:${a}`);
a.setMinutes(20)
console.log(`设置Date对象中的分钟:${a}`);
a.setSeconds(5)
console.log(`设置Date对象中的秒钟:${a}`);
a.setMilliseconds(1000)
console.log(`设置Date对象中的毫秒:${a}`);
 
console.log(`1970年1月1日至今的毫秒数:${now.getTime()}`);
console.log(`把Date对象转换为字符串${now.toString()}`);
console.log(`把Date对象的时间部分转换为字符串${now.toTimeString()}`);
console.log(`把Date对象的日期部分转换为字符串${now.toDateString()}`);
console.log(`根据世界时,把Date对象转换为字符串${now.toUTCString()}`);
console.log(`根据本地时间格式,把Date对象转换为字符串:${now.toLocaleDateString()}`);


//设置毫秒数
now.setTime(now.getTime()+30*24*60*60*1000)
console.log(`${now.getFullYear()}年${now.getMonth()+1}月${now.getDate()}日`);

运行结果:

五. String对象

let str1:string='hello word!'
console.log(`字符长度:${str1.length}`);
console.log(`返回指定位置的字符:${str1.charAt(1)}`);
console.log(`从字符编码创建一个字符串:${String.fromCharCode(97,98,99)}`);
console.log(`返回在指定的位置的字符的Unicode编码:${str1.charCodeAt(1)}`);
console.log(`连接的新字符串:${str1.concat('你好')}`);
console.log(`检索字符串:${str1.indexOf('o')}`);
console.log(`从后往前搜索字符串:${str1.lastIndexOf('o')}`);

let strs:string[]=['张三','李四','王五']
strs.sort((a,b)=>{return a.localeCompare(b)})
console.log(strs);
console.log(`${str1}替换字符:${str1.replace('word','世界')}`);

console.log(`提取字符串:${str1.slice(3)},${str1.slice(3,7)}`);

// 拆分字符串
strs=str1.split(' ')
console.log(strs);
console.log(`从开始的索引提取n个字符${str1.substr(3,6)}`);
console.log(`两个下标之间的字符:${str1.substring(3,7)}`);

console.log(`转大写:${str1.toLocaleUpperCase()}`);

运行结果:

String对象的练习

//有很多邮箱,需要获取每一个邮箱的域名
let emails:string[]=['123@qq.com','asd@sina.cn']

for(let i in emails){
  let email:string=emails[i]
  let ind:number=email.lastIndexOf('.')//获取.的下标
  let ym:string=email.substring(ind+1)
  console.log(`${email}的域名:${ym}`);
  
}

解题思路:我们要获取邮箱域名,就需要通过字符串的查找找到相同的特点(‘.'),然后通过字符串截取得到域名

注意点:查找字符串需要从后往前找,截取字符串需要加1,这样就可以得到域名不加点

运行结果:

//把所有的0替换为o 把O替换成小写o
let pwds:string[]=['12300','1240O','asdOO']
for(let i in pwds){
  pwds[i]= pwds[i].replace(/0/g,'o').replace(/O/g,'o')
  
}
console.log(pwds);

解题思路:通过字符串替换把所有的0和O替换成小写o

运行结果:

//根据身份证号,获取用户出生年月日
let cardNum:string='123456200809091234'
let year:string=cardNum.substring(6,10)
let Month:string=cardNum.substring(10,12)
let day:string=cardNum.substring(12,14)
console.log(`${year}年${Month}月${day}日`);

//根据身份证号,获得用户年龄
let nows:Date=new Date()
let y=nows.getFullYear()
let m=nows.getMonth()+1
let d=nows.getDate()
console.log(`${y}/${m}/${d}`);
let s=y-parseInt(year); //虚岁
if((m>parseInt(Month))||(m==parseInt(Month)&&d<parseInt(day))){
    s-- //没有过生日之前
}
console.log(`真实年龄:${s}`);

解题思路:众所周知身份证是由18位数字组成,要获取年月日,身份证的位置是固定的,通过字符串截取来分别找到年月日的位置,就获取到出生年月日了。

2.根据身份证号获得用户年龄,由上可得出生年月,获取当前时间减去身份证的年便得出年龄,这里有两种情况需要注意一下,首先第一种通过年份相减直接得到的年龄并不准确,我们通过月和日来判断是否过了生日,如果没有过生日就需要在减一岁

运行结果:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值