String对象
定义一个字符串
在工作中我们大概有3种方法去定义一个字符串:
- var str = ‘hello’;
- var str1 = String(‘hello’);
- var str2 = new String(‘hello’);
new String(): new 出来的一定是对象object。
取值 类似于数组,仍然可以使用length、concat、charAt等属性
var s1="ilove";
var s2=new String("you");
console.log(s2); //String {0: "y", 1: "o", 2: "u", length: 3, [[PrimitiveValue]]: "you"}
console.log(typeof s1, typeof s2); //string object
console.log(s2.charAt(1)); // o
console.log(s1.concat(s2)); // iloveyou
toString 转化为字符串
toString() 方法可把一个逻辑值转换为字符串,并返回结果。
返回值:
根据原始布尔值或者 booleanObject 对象的值返回字符串 “true” 或 “false”。
var s3=s2.toString();
console.log(s3); //you
to String 方法的重写:
function m() {
//toString 方法的重写
m.toString = function () {
return 1;
}
}
m(5);
值类型和引用类型
(1)值类型(基本类型):字符串(string)、数值(number)、布尔值(boolean)、undefined、null
(2)引用类型:对象(Object)、数组(Array)、函数(Function)
值类型和引用类型的区别
(1)值类型: 不可变,占固定空间
(2)引用类型:可变 ,占可变的空间,使用new()方法构造出的对象是引用型。
值类型 和 引用类型的相互转化问题
var a1="today"; //值类型 ---转化引用
console.log(a1);
var a2=new String(a1); //引用类型
console.log(a2); //String 0: "t" 1: "o" 2: "d" 3: "a" 4: "y"
var a3=a2.toString(); // 引用类型转化为值。类型
console.log(a3); //today
Date 日期的获取
Date 对象用于处理日期和时间。
new Date(): 用于获取当前时间的对象。
var time=new Date();
console.log(time); // 当前时间: 例如:Sun May 26 2019 10:51:07 GMT+0800 (中国标准时间)
转为中文时间的方法
//转为中文时间
console.log(time.toUTCString()); //Sun, 26 May 2019 02:54:04 GMT
console.log(time.toDateString()); // Sun May 26 2019
console.log(time.toISOString()); //2019-05-26T02:54:51.061Z
console.log(time.toJSON()); //2019-05-26T02:55:53.194Z
console.log(time.toLocaleDateString());//2019/5/26
console.log(time.toLocaleTimeString());//上午10:57:08
console.log(time.toLocaleString()); //2019/5/26 上午10:56:40
时间的设置 获取
- 设置时间 ;
1.直接在new的时候设置
var w1=new Date("2019/05/26 11:40:59");
console.log(w1);//Sun May 26 2019 11:40:59 GMT+0800
var w2=new Date(2019,5,26,11,40,59);// 中间的月份加一
console.log(w2);//Wed Jun 26 2019 11:40:59 GMT+0800 (中国标准时间)
2.使用 date中的方法设置
手动设置时间
var r1=new Date();
r1.setFullYear(2018); //设置年
r1.setDate(3); //设置日
r1.setHours(5);//设置小时
r1.setMinutes (32);//分
r1.setSeconds (59);//秒
r1.setMilliseconds(456);//毫秒
console.log(r1);//Thu May 03 2018 05:32:59 GMT+0800 (中国标准时间)
- 获取时间
getTime() 返回从 1970 年 1 月 1 日至今的毫秒数。
getFullYear()获得年
getMonth()获得月
getDay() 获得星期,(0–6)而不仅仅是数字,0表示周天,6表示周六。
getDate()获得日
getHours()获得小时
getMinutes()获得分钟
getSeconds()获得秒
getYear( ) 获得 到1900年的总年数 119
var t1=new Date();
console.log(t1.getDay()); // 获得星期 0-6(周天-周六)
console.log(t1.getFullYear()); //年
console.log(t1.getMonth()); //月
console.log(t1.getDate()); //获得日
console.log(t1.getHours()); // 小时
console.log(t1.getMinutes());// 分钟
console.log(t1.getSeconds());// 秒
console.log(t1.getTime());// //到1970年的总毫秒数
console.log(t1.getYear()); // 到1900年的总年数 119
console.log(t1.getUTCDate());// 日期
console.log(t1);