主体图
对象类型
原生对象: Object,Function(函数对象) ,Array(数组对象), String(字符串对象), Date(日期对象), Boolean(布尔对象), Number(数字对象),RegExp(正则对象),Error(错误对象)
内置对象: global(全局 Windows,document),Math(数学对象)
宿主对象: DOM(document object model),BOM(blower object model)
全局对象: Windows
!!! 一定要有对象这个概念 {}
对象的定义方式:
1 字面量对象(变量的数据类型是一个 JSON 对象类型)
JSON: 轻量级的数据交换格式!!!!, 用的场景(前端和后端之间的数据交互)!!!
服务端: python,java,PHP,nodevar JSON = {名称: 值, 名称: 值....}前端和后端之间的数据交互格式经常用到的是 JSON 和 xmlxml: 可扩展标签 <name title=''></name> <age></age> html: w3c div,p,ul....
2 构造函数方式创建对象
new 关键字
所有的构造函数方式都是通过 new 关键字来创建的!!!!!!!!
JS 字面量:
概念: 不需要使用 new 关键字来创建对象的一种简单的方式
字面量分为字符串字面量, 数组字面量, 对象字面量, 函数字面量, 数字字面量
例如:
1 字符串字面量(使用单引号或双引号)
- var a = "hello world"
- var b = "aa\\tbb"
2数字字面量(使用[])
var a = [1,2,3,4]
3 对象字面量
var obj = { firstName:"John", lastName:"Doe", age:50, eyeColor:"blue" }
4 函数字面量
- function fun1(a,b){
- return a+b
- }
- fun1(10,20);
5 数字字面量
- 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 字符最后一次出现的位置
截取字符串
总结:
1 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
2 slice
1 个参数: 从当前位置一直截取到字符串的末尾
2 个参数: 从什么地方开始截取到字符串最后的位置, 但不包含第二个参数值数所在位置的字符
注:
1, 如果在 2 个参数情况下, 第一个参数值大于第二个参数值, 不自动调节位置
2, 第一个参数值 + 字符串长度之后的值小于第二个参数值可以获取到, 反之获取不到
大小写转换
split/join 字符串分割
语法结构:
1变量. split("分隔的字符标准"[, 分隔多少个元素]) 如果第二个参数超出了数组长度则默认为全部显示 作用: 将字符串分隔成数组
2 变量. 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']);
来源: http://www.jianshu.com/p/b29d9603958d