本文主要是介绍JavaScript第八讲:日期,Math,自定义对象,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
前言
日期
1. 创建日期对象
2. 年/月/日
3. 时:分:秒:毫秒
4. 一周的第几天
5. 经历的毫秒数
6. 修改日期和时间
Math
1. 自然对数和圆周率
2. 绝对值
3. 最小最大
4. 求幂
5. 四舍五入
6. 随机数
自定义对象
1. 通过 new Object 创建对象
2. 通过 function 设计一个对象(构造函数)
3. 为已经存在的对象,增加新的方法
添加到对象的原型(推荐)
直接添加到对象的实例(不推荐,但可行)
结语
前言
在JavaScript编程的旅途中,我们经常会遇到需要处理日期、数学运算以及创建和使用自定义对象的情况。这些基础而重要的概念构成了JavaScript编程的核心部分,无论是在前端开发还是后端开发中,它们都扮演着不可或缺的角色。
通过本文的学习,你将能够掌握这些基本概念,并能够在自己的项目中灵活运用它们。无论你是JavaScript的初学者还是有一定经验的开发者,相信本文都能为你提供有价值的参考和启示。
日期
1. 创建日期对象
在JavaScript中,你可以使用Date
对象来存储和操作日期和时间。Date
对象可以自动获取当前的日期和时间,或者你可以给它指定一个特定的日期和时间。
// 创建一个表示当前日期和时间的Date对象
let now = new Date();
console.log(now); // 输出类似 "Wed Jun 30 2023 15:49:02 GMT+0800 (中国标准时间)" // 创建一个表示特定日期和时间的Date对象
let specificDate = new Date(2023, 5, 30, 10, 30, 0, 0); // 注意月份是从0开始的,所以6月是5
console.log(specificDate); // 输出类似 "Sat Jun 30 2023 10:30:00 GMT+0800 (中国标准时间)"
2. 年/月/日
你可以使用getFullYear()
, getMonth()
, 和 getDate()
方法来获取日期的年、月和日。
let date = new Date(2023, 5, 30);
console.log(date.getFullYear()); // 输出 2023
console.log(date.getMonth() + 1); // 输出 6,因为月份是从0开始的
console.log(date.getDate()); // 输出 30
3. 时:分:秒:毫秒
你可以使用getHours()
, getMinutes()
, getSeconds()
, 和 getMilliseconds()
方法来获取时间的小时、分钟、秒和毫秒。
let time = new Date();
console.log(time.getHours()); // 输出当前小时
console.log(time.getMinutes()); // 输出当前分钟
console.log(time.getSeconds()); // 输出当前秒
console.log(time.getMilliseconds()); // 输出当前毫秒
4. 一周的第几天
你可以使用getDay()
方法来获取日期是一周中的第几天(0代表星期日,1代表星期一,以此类推)。
let dayOfWeek = new Date(2023, 5, 30).getDay();
console.log(dayOfWeek); // 输出 6,因为2023年6月30日是星期六
5. 经历的毫秒数
你可以使用getTime()
方法来获取从1970年1月1日00:00:00 UTC(世界标准时间)到当前日期和时间的毫秒数。
let timeInMilliseconds = new Date().getTime();
console.log(timeInMilliseconds); // 输出从1970年1月1日到现在的毫秒数
6. 修改日期和时间
你可以使用setFullYear()
, setMonth()
, setDate()
, setHours()
, setMinutes()
, setSeconds()
, 和 setMilliseconds()
方法来修改日期和时间。
let date = new Date(2023, 5, 30);
date.setFullYear(2024); // 修改年份为2024
date.setMonth(0); // 修改月份为1月(注意月份是从0开始的)
date.setDate(1); // 修改日期为1日
console.log(date); // 输出类似 "Wed Jan 01 2024 00:00:00 GMT+0800 (中国标准时间)"
Math
1. 自然对数和圆周率
Math
对象提供了对自然对数(Math.LN2
、Math.LNE
、Math.LOG2E
、Math.LOG10E
)和圆周率(Math.PI
)的访问。
// 圆周率
console.log(Math.PI); // 输出 3.141592653589793(近似值) // 自然对数相关的常量
console.log(Math.LN2); // 输出 0.6931471805599453(ln(2) 的值)
console.log(Math.LNE); // 输出 1(e 的自然对数的值,即 ln(e))
console.log(Math.LOG2E); // 输出 1.4426950408889634(e 的以2为底的对数的值)
console.log(Math.LOG10E); // 输出 0.4342944819032518(e 的以10为底的对数的值)
2. 绝对值
使用Math.abs()
方法可以计算一个数的绝对值。
console.log(Math.abs(-5)); // 输出 5
console.log(Math.abs(10)); // 输出 10
3. 最小最大
Math.min()
和Math.max()
方法用于找出一组数值中的最小值和最大值。
console.log(Math.min(1, 2, 3, 4, 5)); // 输出 1
console.log(Math.max(1, 2, 3, 4, 5)); // 输出 5
4. 求幂
Math.pow()
方法用于计算一个数的幂。
console.log(Math.pow(2, 3)); // 输出 8(2的3次方)
console.log(Math.pow(3, 2)); // 输出 9(3的2次方)
5. 四舍五入
Math
对象提供了几种四舍五入的方法:
Math.round()
:标准四舍五入。Math.floor()
:向下取整。Math.ceil()
:向上取整。
console.log(Math.round(4.5)); // 输出 5
console.log(Math.floor(4.5)); // 输出 4
console.log(Math.ceil(4.5)); // 输出 5
6. 随机数
Math.random()
方法用于生成一个[0, 1)之间的伪随机数。
// 生成一个 0 到 1 之间的随机数
let randomNum = Math.random();
console.log(randomNum); // 生成一个指定范围内的随机数(例如,1 到 10 之间)
let min = 1;
let max = 10;
let randomNumInRange = Math.random() * (max - min) + min;
console.log(randomNumInRange);
自定义对象
1. 通过 new Object
创建对象
在JavaScript中,你可以使用new Object()
来创建一个新的空对象,然后为其添加属性和方法。
// 创建一个新的空对象
let person = new Object(); // 为对象添加属性
person.name = "Alice";
person.age = 30; // 为对象添加方法
person.greet = function() { console.log(`Hello, my name is ${this.name}`);
}; // 调用方法
person.greet(); // 输出: Hello, my name is Alice
2. 通过 function
设计一个对象(构造函数)
更常见的做法是使用函数作为构造函数来创建对象。这种方式可以通过new
关键字来调用构造函数,并创建具有相同属性和方法的新对象。
// 定义一个构造函数
function Person(name, age) { this.name = name; this.age = age; // 为对象添加方法 this.greet = function() { console.log(`Hello, my name is ${this.name}`); };
} // 使用new关键字和构造函数来创建对象
let person1 = new Person("Bob", 25);
let person2 = new Person("Charlie", 35); // 调用方法
person1.greet(); // 输出: Hello, my name is Bob
person2.greet(); // 输出: Hello, my name is Charlie
3. 为已经存在的对象,增加新的方法
如果你已经有一个对象,并且想要为其添加新的方法,你可以直接为对象的原型添加方法,或者直接为对象的实例添加方法。但请注意,直接在对象实例上添加方法通常不推荐,因为这会导致每个实例都有自己的方法副本,而不是共享同一个方法。
添加到对象的原型(推荐)
// 假设我们已经有了一个Person构造函数
function Person(name, age) { this.name = name; this.age = age;
} // 为Person的原型添加方法
Person.prototype.greet = function() { console.log(`Hello, my name is ${this.name}`);
}; // 创建对象
let person3 = new Person("David", 40); // 调用方法
person3.greet(); // 输出: Hello, my name is David
直接添加到对象的实例(不推荐,但可行)
// 假设我们已经有了一个Person的实例
let person4 = { name: "Eve", age: 20
}; // 为这个特定的实例添加方法
person4.greet = function() { console.log(`Hello, my name is ${this.name}`);
}; // 调用方法
person4.greet(); // 输出: Hello, my name is Eve // 注意:这种方法只会影响person4这个特定的实例,不会影响其他Person实例。
结语
下一节有本文的练习题。有需要的码客们可以去看一下
经过本文的学习,你已经对JavaScript中的日期处理、数学运算和自定义对象有了深入的了解。Date
对象使你能够轻松地创建、操作和格式化日期;Math
对象提供了一系列强大的数学方法和常量,帮助你进行复杂的数学运算;而自定义对象则是你实现模块化、封装和复用的关键。
这些基础知识不仅是你编写高效、健壮的JavaScript代码的基础,也是你成为一名优秀JavaScript开发者的必经之路。希望你在今后的学习和实践中,能够不断巩固和扩展这些知识,并探索JavaScript更多的高级特性和应用。
最后,感谢你的阅读和学习。相信在JavaScript编程的道路上,你会越走越远,取得更加辉煌的成就!
respect!
这篇关于JavaScript第八讲:日期,Math,自定义对象的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!