一、JSON对象
说明:
JS对象表示法,是一种轻量级的数据交换格式
使用JavaScript语法来描述数据对象,但是JSON仍然独立于语言和平台,可以被任何编程语言读取以及作为数据格式传递。是目前服务端与客户端交换数据中使用最为广泛的标准格式
格式:
外层适用花括号{}包裹
key:value 键值对格式
逗号分割
值类型可以是常用的number、string、boolean. object、null
两种访问形式
var table = {
a:10,
b:20,
c:30
};
table.a;
table['a'];
JS对象与JSON格式的区别
JS对象 | JSON |
---|---|
不能传输 | 可以跨平台 |
键值对方式,key不需要加引号 | 键值对方式,key必须加引号 |
值可以是函数、对象、字符串、数字等 | 值不能是函数、undefined、NaN |
//JS对象
var stu = {
nanme :'张三',
age: 19,
sex: male,
score: [85,89,76],
}
//JSON格式
{
"nanme" :'张三',
"age": 19,
"sex": male,
"score": [85,89,76],
}
JS对象转换为可传输的JSON格式
JSON.stringify({ id: 1,name: 'Alice' })
parse()将JSON字符串转换为JS对象
var obj = JSON.parse('{"id" : 1, "name " : "Alice"}')
二、String对象
String对象用于存储和处理文本
1.length属性
var str = "12345";
console.log(str.length); //5
2.访问方式
可以通过下标来访问,这不同于C系语言,JavaScript的字符串可以看成一种只读的字符数组。
console.log(str[0]) //1
3.,JavaScript的字符串具有不可变性,一旦生成就不可改变,但可以重新赋值。
str[0] = 0;
console.log(str); //"12345"
str = "123";
console.log(str); //"123"
4.replace()
原始数据类型的字符串无法修改,但可以使用String对象的replace()方法进行修改
replace无法修改原字符串,只是返回一个新字符串
var a = '123'
var b = a.replace( '1','0') // a的值仍为'123 ',b的值为'023'
//替换的值可以为空
var a = '123'
var b = a.replace( ' 1 ', '')// b的值为”23”
//可以对多个字符进行操作
var a = '1234567'
var b = a.replace( ' 123',,'0123') // b的值为”01234567”
5.split()
split()传入一个分隔符作为参数,以该分隔符为标准,将字符串进行分割并存入一个新数组并返回
//注意分隔符位置
var a = '-2021-4-6-'
var b = a.split( '-' ) // b: [ ' ', '2021', '4' , '6','']
//第二个参数可选,代表分割后数组的最大长度
var a = '2021-4-6'
var b = a. split( '-',2 )//b: [ '2021 ' , '4']
//分隔符可以为空
var a = '123'
var b = a. split( '' ) // b: [ '1 ', '2 ' ,'3' ]
//分隔符可以为空格
var a = 'Hello world '
var b = a.split( ' ') //b: [ 'Hello ' , ' Wworld ' ]
6.indexOf()
返回要查找的字符第一次出现的位置下标,若未找到返回-1
var a = '1234567'
a.index0f('3')//返回2
a.indexOf('8')//返回-1
7.toLowerCase()
把字符串转为小写,不会修改原字符串
var a = 'ABC'
var b = a.toLowerCase() // b : "abc " , a: "ABC”
8.toUpperCase()
把字符串转为大写,不会修改原字符串
var a = 'abc '
var b = a.toUpperCase() // b : "ABC", a : "abc "
9.trim()
移除空白符(空格、制表符、换行符等),只对头尾操作,不会修改原字符串
var a = ' a b c '
var b = a.trim( ) // b : 'a b c ', a: ' a b c '
10.slice()
截取字符串,与数组的slice方法相同
var a = '1234567'
var b = a.slice( 2) // b: '34567', a: '1234567'
11.substring()
该方法与slice类似,但参数不能使用负数,若参数为负数会被当做0看待
var a = '1234567'
var b = a.substring( 2) // b: '34567', a: '1234567'
var b = a.substring( 2,5)// b: '345',a: '1234567'
12.substring()
的参数位置没有严格要求
var a = ' 1234567'
var b = a.substring( 5,2)// b: '345', a: '1234567'
13.substr()
第二个参数为要截取的数量
var a = '1234567'
var b = a .substr(2)// b : '34567', a: '1234567'
var b = a.substr(2,3)// b: '345', a : '1234567'
14.concat()
将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回。concat方法并不影响原字符串。
var a = '123'
var b = ' 456'
var c = a.concat( b ) // c : "123456", a: "123”