JavaScript 基础02
字符串
1.正常的字符串我们用单引号双引号进行包裹
let i = "cold"; let l = 'house';
转义字符
// \' 加上单引号 就可以在打印的时候输出单引号 console.log("colddd\'") // \n 可以使字符换行 console.log("cold\ndd") // \t 空格的意思 console.log("cold\tddd") // Unicode 字符 // 可以直接打印 这个字符 比如\u51b0\u51b0\u51c9\u51c9cc 就是冰冰凉凉cc的意思 console.log("\u51b0\u51b0\u51c9\u51c9cc") //Ascll字符 //也可以直接打印 上面这个字符 \x41代表大写的A console.log("x41") console.log()
多行字符串打印
//tab 上面的那个按键 //原样输出 var msg = ` 这是一个永不落幕的科技盛宴, 无极限的追逐热爱, 我们看好你! ` console.log(msg)
4.模板字符
//模板字符 let name = "clod" let age = 18; let msg = `${name}最牛逼!!` console.log(msg)
获取字符串的长度
var name = "cold66666666666"; //str.length //str 代表字符串的意思 //如果你想要获取字符串的长度就可以使用 //name.length
字符串的不可变性
//字符串的不可变性 //无论你对它进行怎么样的操作它都不会改变 var name = "cold66666666666";
大小写转换
//大小写转换 var name = "coldddd" //把name变成大写 console.log(name) console.log(name.toUpperCase()) //把xingming 的值变成小写 var xingming = "COLD" console.log(xingming) console.log(xingming.toLowerCase())
8.获取字符串下标
//获取下标 var name = "azplcold" console.log(name.indexOf('l'))
9.截取字符串
//截取 var name = "azplcold" //从第一个字符串截取到最后一个字符串 name.substring(1) //从第一个字符串截取到第三个字符串 //第一个字符串不会被截取 name.substring(1,3)
数组
Array 可以包含任意的数据类型
var arr = [1,2,3,4,5]
1.长度
arr.length 增加长度 arr.length = 9 (9) [1, 2, 3, 4, 空属性 × 5] 缩小长度 arr.length = 4
加入arr.length 的赋值,数组的大小会发生变化,如果赋值过小,那么元素就会丢失
indexOf() 通过元素索引下标
arr = [1,2,3,4,5,"1","3"] (7) [1, 2, 3, 4, 5, '1', '3'] arr.indexOf("3") 6 arr.indexOf(1) 0
字符串的"1"和数字1 是不同的,对比的不是数字 而是元素本身
slice() 截取 Array()的一部分 返回一个新的数组类似于substring
arr (7) [1, 2, 3, 4, 5, '1', '3'] arr.slice(2) (5) [3, 4, 5, '1', '3'] arr.slice(2,5) (3) [3, 4, 5]
push()尾部添加 pop()尾部删除
arr (7) [1, 2, 3, 4, 5, '1', '3'] arr.push("a","a")//从尾部添加 9 arr (9) [1, 2, 3, 4, 5, '1', '3', 'a', 'a'] arr.pop()//从尾部删除 'a' arr.pop() 'a' arr (7) [1, 2, 3, 4, 5, '1', '3']
unshift()头部添加,shift()头部删除
arr.unshift("a","b")//向头部添加 9 arr.unshift("a","b") 11 arr (11) ['a', 'b', 'a', 'b', 1, 2, 3, 4, 5, '1', '3'] arr.shift()//从头部删除 'a' arr.shift() 'b' arr.shift() 'a' arr.shift() 'b' arr (7) [1, 2, 3, 4, 5, '1', '3']
6.排序 sort()
arr = ["B","C","A"] (3) ['B', 'C', 'A'] arr.sort() (3) ['A', 'B', 'C']
7.元素反转 reverse()
(3) ['A', 'B', 'C'] arr.reverse() (3) ['C', 'B', 'A']
8.元素追加 concat()
(3) ['C', 'B', 'A'] arr.concat([1,2,3]) (6) ['C', 'B', 'A', 1, 2, 3] arr (3) ['C', 'B', 'A']
concat() 并不会修改数组 而是返回一个新的数组
9.连接数组
arr (3) ['C', 'B', 'A'] arr.join("-") 'C-B-A'
10.多维数组
arr = [[1,2],[2,3],["1","2"]] arr[0][0] 1
数组:存储数据(如何存? 如何取?)
对象
js中 的键都是字符串 值可以是任意对象
对象是若干个键值对组成的
var 对象名 = { 属性名 : 属性值 , 属性名 : 属性值 , 属性名 : 属性值 } //定义了一个student 它有三个属性 var student = { name :"cold", age : 18, blog : "azplstudio.top" }
JS中 花括号{ },中的表示的对象,键值对,方式进行描述,多个属性之间描述都要用逗号隔开,最后一个属性不需要加逗号
对象赋值
student.name = "azplcold" 'azplcold' student {name: 'azplcold', age: 18, blog: 'azplstudio.top'}
2.如果用了一个不存在的值 也不会报错 会提示undefind
student.opop undefined
3.动态的删除对象,通过delete进行删除对象
delete student.age true student {name: 'azplcold', blog: 'azplstudio.top'}
4.添加对象 直接给对象添加属性
student.msg = "one" 'one' student {name: 'azplcold', blog: 'azplstudio.top', msg: 'one'}
5.判断属性是否在对象中 xxx in xxxx
"msg"in student true //继承 'toString' in student true
6.判断属性值是否是这个对象自带的 hasOwnProperty()
student.hasOwnProperty('toString') false student.hasOwnProperty('blog') true