js中的时间对象和字符串对象
主体图
对象类型
原生对象:Object,Function(函数对象) ,Array(数组对象), String(字符串对象), Date(日期对象), Boolean(布尔对象), Number(数字对象),RegExp(正则对象),Error(错误对象)
内置对象:global(全局 window,document),Math(数学对象)
宿主对象:DOM(document object model)、BOM(blower object model)
全局对象:window
!!!一定要有对象这个概念 {}
对象的定义方式:
① 字面量对象(变量的数据类型是一个json对象类型)
Json:轻量级的数据交换格式!!!!,用的场景(前端和后端之间的数据交互)!!!
服务端:python、java、php、nodevar json = {名称:值,名称:值....}前端和后端之间的数据交互格式经常用到的是json和xmlxml: 可扩展标签 html: w3c div,p,ul....
② 构造函数方式创建对象
new关键字
所有的构造函数方式都是通过new关键字来创建的!!!!!!!!
JS字面量:
概念:不需要使用new关键字来创建对象的一种简单的方式
字面量分为字符串字面量、数组字面量、对象字面量、函数字面量、数字字面量
例如:
① 字符串字面量(使用单引号或双引号)
var a = “hello world”
var b = “aa\\tbb”
②数字字面量(使用[])
var a = [1,2,3,4]
③ 对象字面量
var obj = { firstName:"John", lastName:"Doe", age:50, eyeColor:"blue" }
④ 函数字面量
function fun1(a,b){
return a+b
}
fun1(10,20);
⑤ 数字字面量
var num = 10;
var num1 = 023;
var num2 = 0x2A;
JS字面量(字面值)、基本数据类型、构造函数对象之间的区别
总结:
在值内容一致的情况下字面值和基本类型以及构造函数对象做相等运算时为true,全等运算为false
时间对象
创建对象
var 对象变量 = new Date([参数]);
在方法中格式里面[参数]的写法表示这个一个可参(可以添加的参数)
如果不添加参数表示的是当前时间
如果添加了参数表示的具体的某一天
参数:具体的某一天 例如:2019-09-01 12:32:24
如果不设置参数默认为当前系统时间
Date 类型使用自 UTC(Coordinated Universal Time,国际协调时间)1970 年 1
月 1 日午夜(零时)开始经过(至今)的毫秒数来保存日期。
属性 描述
getFullYear 返回年份
getMonth 返回月份(0-11)注意:索引是从0开始,所以调用的时候必须加1
getDay 返回一周中的某一天 (0-6)
getHours 返回小时(0-23)
getMinutes 返回分钟(0-59)
getSeconds 返回秒 (0-59)
getTime返回 1970 年 1 月 1 日至今的毫秒数。(格林威治时间 世界协调时 UTC)GMT+0800
getDate返回一个月中的某一天(1-31)
getMilliseconds 返回 Date 对象的毫秒(0 ~ 999)
设置特定格式的时间
toDateString可把 Date 对象的日期部分转换为字符串,并返回结果
toLocaleDateString可根据本地时间把 Date 对象的日期部分转换为字符串,并返回结果
toTimeS--tring可把 Date 对象的时间部分转换为字符串,并返回结果。
toLocaleTimeString可根据本地时间把 Date 对象的时间部分转换为字符串,并返回结果。
字符串对象
字符串方法
length字符串的长度
charAt返回相对下标的字符
charCodeAt返回定义下标字符串的ASCII编码
//创建字符串
var str = "hello";
//str.length 获取字符串长度
console.log(str.length);
//str.charAt(0)返回相对下标的字符
console.log(str.charAt(0));
//str.charCodeAt(下标) 返回定义下标字符串的编码
console.log(str.charCodeAt(0));
IndexOf()方法
lastIndexOf()方法
语法格式:lastIndexOf(‘字符’,[‘查找位置’])
其中查找位置为可选的整数参数,规定在字符串中开始检索的位置。
它的合法取值是 0 到 str.length – 1,如果超出了该界限,默认从字符串开头查找,如省略该参数,则将从字符串的最后一个字符处开始检索。
var str = “hello world”;
console.log(str.lastIndexOf(“l”,5))
//表示从5的位置之前来搜索,l字符最后一次出现的位置
截取字符串
总结:
① substring
1个参数:从当前位置一直截取到字符串的末尾
2个参数:从什么地方开始截取到字符串最后的位置,但不包含第二个参数值数所在位置的字符
注:
1、如果在2个参数情况下,第一个参数值大于第二个参数值,自动调节位置
例如:str.substring(5,3)自动调节位置str.substring(3,5) 相当于3,4
2、如果第一个参数值为负数,自动默认为0
例如:str.substring(-10,4)类似于str.substring(0,4) 相当于0,3
3、如果第二个参数值大于了字符串长度值,默认从第一个位置值到字符串末尾
例如:str.substring(3,30) 3,10 实际上3,9
② slice
1个参数:从当前位置一直截取到字符串的末尾
2个参数:从什么地方开始截取到字符串最后的位置,但不包含第二个参数值数所在位置的字符
注:
1、如果在2个参数情况下,第一个参数值大于第二个参数值,不自动调节位置
2、第一个参数值+字符串长度之后的值小于第二个参数值可以获取到,反之获取不到
大小写转换
split/join字符串分割
语法结构:
①变量.split(“分隔的字符标准”[,分隔多少个元素]) 如果第二个参数超出了数组长度则默认为全部显示 作用:将字符串分隔成数组
② 变量.join(“分隔字符”) 将数组按特定标志组合成字符串,默认分隔符为逗号
字符串替换 replace
语法格式:字符串.replace(被替换的字符串,替换的字符)
//语法格式:replace(被替换的字符串,替换的字符)
var str = '12345678908';
console.log(str.replace('4567','****'));
console.log(str.replace(str.substring(3,7),'****'));
传一个字符串返回一个json形式的对象
function ToJson(str){
var json = {};
var result = str.split('&');
for(var i = 0; i< result.length ; i++){
var result1 = result[i].split('=');
json[result1[0]] = result1[1]
}
return json;
}
var str3 = "a=b&c=d&e=f";
var jsonstr = ToJson(str3);
console.log(jsonstr['c']);
发表评论 (审核通过后显示评论):