【JavaScript】对象、内置对象(Math、Date、Array、String)

文章目录

  • 1 对象概述
  • 2 JavaScript的内置对象
    • 2.1 Math对象
    • 2.2 Date对象
    • 2.3 字符串对象

1 对象概述

在JavaScript中,对象是一种数据类型,它是由属性和方法组成的一个集合。

属性是指事物的特征,使用“对象.属性名”访问。

方法是指事物的行为,使用“对象.方法名()”进行访问。

手动赋值属性或方法来添加成员。

var p1 = {
  color: '黑色',
  weight: '188g',
  screenSize: '6.5',
  call: function(num) { console.log('打电话给' + num);},
  sendMessage: function(num, message) {},
  playVideo: function() { console.log('播放视频'); },
  playMusic: function() { console.log('播放音乐'); }
}

//访问p1的属性和方法
console.log(p1.color);
console.log(p1['weight']);
console.log(p1.screenSize);
p1.call('123');		
p1.sendMessage('123', 'hello');
p1.playVideo();
p1.playMusic();

对象的定义:

  • 利用字面量创建对象
var 对象名 = {}
  • 用new Object创建对象
var obj = new Object();	// 创建了一个空对象
obj.name = '小明';		// 创建对象后,为对象添加成员
obj.age = 18;
obj.sex = '男';
obj.sayHello = function() {
  console.log('Hello');
};
  • 利用构造函数创建对象
var 对象名 = new 构造函数名()

"构造函数"可以有参数,也可以没有参数;如果没有参数小括号可以省略。

this:利用当前构造函数所创建的那个对象
eg:
function Student(){
    this.name = '李四'
    this.sex = '男'
    this.age = 25
    this.show = function(){
        console.log('姓名:'+this.name)
        console.log('性别:'+this.sex)
        console.log('年龄:'+this.age)
    }
}

var s1 = new Student()
s1.show()

遍历对象的属性和方法:使用for…in循环

for(var 变量名 in 对象名){
    循环语句
}

in运算符:判断某个成员(属性、方法)在这个对象中是否存在。存在返回true;不存在返回false


2 JavaScript的内置对象

2.1 Math对象

不需要实例化

  • Math.PI:算术常量PI
  • Math.abs(x):返回x的绝对值
  • Math.max(args...):返回所有参数中的最大值
  • Math.min(args...):返回所有参数中的最小值
  • Math.pow(x,y):返回x的y次方
  • Math.sqrt(x):返回x的算术平方根
  • Math.random():返回0.0-1.0之间的随机数
  • Math.round(x):返回最接近x的整数,四舍五入
  • Math.floor(x):返回小于等于x,并且与x最接近的整数
  • Math.ceil(x):返回大于等于x,并且与x最接近的整数

2.2 Date对象

需要使用new Date( )创建一个对象

Date( )是一个构造函数,可以给该构造函数传参数生成一个日期对象

  • getYear( ):获取指定Date对象date的年份字段减去1900
  • getFullYear( ):获取指定Date对象date的年份字段
  • getMonth( ):获取Date对象的月份(返回值在0(1月)-11(12月)之间)
  • getDate( ):获取Date对象的日期(一月中的某一天(1-31之间的整数))
  • getDay( ):获取一周中的某一天(星期几)
  • getHours( ):获取Date对象的小时数(0-23之间的整数)
  • getMinutes( ):获取Date对象的分钟数(0-59)
  • getSeconds( ):获取Date对象的秒钟数
  • getTime( ):获取Date对象距离1970年1月1日午夜(GMT时间)之间的毫秒数
  • toLocaleDateString( ):将Date对象转化为本地的日期格式
  • toLocaleString( ):将Date对象转化为本地的日期时间格式
时间戳:获取从1970年1月1日0时0分0秒开始一直到当前UTC时间所经过的毫秒数。

// 方式1:通过日期对象的valueof()或getTime()方法
var date1 = new Date();
console.log(date1.valueOf()); // 示例结果:1571196996188
console.log(date1.getTime()); // 示例结果:1571196996188

// 方式2:使用“+”运算符转换为数值型
var date2 = +new Date();
console.log(date2);	// 示例结果:1571196996190

// 方式3:使用HTML5新增的Date.now()方法
console.log(Date.now());	// 示例结果:1571196996190

倒计时小例子:

function countDown(time) {
  var nowTime = +new Date();
  var inputTime = +new Date(time);
  var times = (inputTime - nowTime) / 1000;
  var d = parseInt(times / 60 / 60 / 24); d = d < 10 ? '0' + d : d;
  var h = parseInt(times / 60 / 60 % 24); h = h < 10 ? '0' + h : h;
  var m = parseInt(times / 60 % 60);m = m < 10 ? '0' + m : m;
  var s = parseInt(times % 60);  s = s < 10 ? '0' + s : s;
  return d + '天' + h + '时' + m + '分' + s + '秒';
}
// 示例结果:05天23时06分10秒
console.log(countDown('2019-10-22 10:56:57')); 


2.3 字符串对象

必须使用new String( )来创建

  • charAt(index)方法:返回指定索引位置的字符;
  • s.charAt(i)-'0':两个字符相减实际上是ASCII码对应的数相减;
  • charCodeAt(index):返回index位置的字符的ASCII码 字符串名[index]:获取指定位置处的字符
  • contant(s1,s2,s3....):连接多个字符串
  • split('分隔符'):将字符串按给定的分隔符,转换成字符串数组
  • substr(start,length):从start开始提取length个字符构成一个新的字符串
  • substring(from,to):提取从from到to(不含to)之间的字符构成一个新串
  • toLowerCase( ):将串中大写字符转换为小写,返回一个新串
  • toUpperCase( ):将串中小写字符转换为大写,返回一个新串
  • replace(str1,str2):使用str2替换字符串中的str1,返回替换结果,只会替换第一个str1
  • split() 方法用于把一个字符串分割成字符串数组。

值类型:简单的数据类型(字符串、数值型、布尔型、undefined、null)

引用类型:复杂数据类型(对象、数组) 变量当中保存引用的地址

你可能感兴趣的:(JavaScript基础,javascript,node.js,html5)