1.简单对象 object
面向对象
现实生活中的对象
对象:具体一个事物
区分不同对象:特征和行为
2.内置对象:数组Array
内置对象:数组Araay
new Array() //构造函数
var arr=[]//字变量
属性和方法
<script>
var students ={number:1001, name:'jack', score:98,gender:'男'}
/*
如果对象属性名是变量表示时,使用:对象名[变量名]访问属悝值*/
for(var key in students){
console.log(key+':'+students[key])
}
3.字符串对象
字符串在使用点语句调用方法属性时:
会自动转化为复杂数据类型(对象类型)
使用完之后转为原来字符串类型
包装类型
创建字符串对象:
1.字面量
var str='hello'
2.构造函数创建
var str =new string('hello')
字符串lenghth属性:
字符串中字符的个数
字符串索引号
第一个字符索引号从0开始
var str = 'hello world'
console.log(str[1])//e
str[1] = 'z'
console.log(str[1])//e
可以访问字符串中字符
不能赋值
4.字符串常用方法
1.charAt
charAt(索引)是找到字符串中指定索引位置的内容返回
var str = "Jack'
//使用charAt找到字符串中的某一个内容
var index = str.charAt(2)
console.log(index) // c
因为字符串也是按照索引进行排列的,也是同样从О开始。所以索引2的位置就是c
如果没有对应的索引,那么就会返回空字符串
var str = "jack'
//使用charAt找到字符串中的某一个内容
var index = str.charAt(10)
console.log(index)//""
这个字符串根本没有索引10的位置。所以就会返回一个空字符串''
2.indexof和lastindexof
indexof就是按照字符找到对应的索引(第一个)
war str = "jack"
//indexof找到对应的索引
var index = str.indexof("j")
console.log(index) // e
因为字符了在字符串jack中的索引位置是0。所以会返回0
lastindexof就是按照字符找到对应的索引(最后一个)
3.substring
substring 是用来截取字符串使用的
substring(从哪个索引开始,到哪个索引截止)
包含开始索引,不包含结束索引
var str='hello'
01234
// 使用 substring 截取字符串
var newstr = str.substring(1, 3)
console.log(newstr) // el
从索引1开始,到索引3截止,包含前面的索引不包含后面的索引
所以返回的是 el
4.substr
substr也是用来截取字符串的
substr(从哪个索引开始,截取多少个)
Var str='hello'
01234
// 使用 substr 截取字符串
var newstr = str.substr(1, 3)
console.log(newstr) // ell
这个方法和
substring不一样的是,第二个参数是截取多少个
从索引1开始,截取3个,所以得到的是ell
5.replace
replace用于在字符串中用一些字符替换宁一些字符
var str="Visit Microsoft!"
console.log(str.replace('Microsoft', "school"))
输出 => Visit school!
6.split
split用于分割字符串,将分割之后的字符串存入数组返回
var str = 'javascript-html-css'
var arr = str.split('-')
arr => [javascript,html,css]
7.concat
concat用于连接2个字符串,返回连接之后的字符串
var str = 'hello'
var s1 = str.concat('world')
s1 => helloworld
8.trim()
trim()
=> 方法删除字符串两端的空白符
=> 返回去掉空格的新字符
9.startsWith()和endsWith()
stantsWith(子字符串)
判断字符串是否以子字符串开始
=)是,返回true|不是,返回false
endsWith(子字符串)
判断字符串是否以子字符串结束
=)是,返回true|不是,返回false
10.toLowerCase 和 toUpperCase
var str = hello
// 使用 toupperCase转换成大写
var upper = str.toUpperCase()
console.log(upper)//HELLO
// 使用toLowerCase转换成小写
var lower = upper.toLowerCase()
console.log(lower) // hello
11.includes
includes用于检测数组中是否包含某个元素 :
let site =['runoob','google','taobao'];
site.includes('runoob);// true
site.includes('baidu');// false
5.包装数据类型
字符串、数值、布尔值是一个包装数据类型
当使用时会自动转换成复杂数据类型,
使用完自动转回基本数据类型
使用点语句 .toString()
6.模板字符串
ES2015前,字符串拼接使用引号’’, 但在换行操作和输出变量值时不方便
ES2015后, 字符串拼接使用反引号 `` ,引用变量时可以使用 ${变量名}
var str = '<div><p></p><span></span></div>'
van str2=`<div><p>你好</p><span>世界</span></div>`
7.ASCLL码
charCodeAt方法
charCodeAt(索引)就是返回对应素引位置的 unicode 编码
var str='Jack'
// 使用 charAt找到字符串中的某一个内容
var index = str.charCodeAt(O)
console.log(index) // 74
因为 j 在 unicode 对照表里面存储的是 74,所以就会返回 74
中文字符unicode编码大于255
8.严格模式
“use strict” 指令在 JavaScript 1.8.5 (ECMAScript5) 中新增。
它不是一条语句,但是是一个字面量表达式,在 JavaScript 旧版本中会被忽略。
严格模式可以应用到整个脚本程序或个别函数中
<script>
'use strict'
// 下面代码书写就要按照严格模式书写
</script>
function myFunction() {
// 函数级别严格模式语法
'use strict'
y = 3.14; // 报错 (y 未定义)
}
严格模式的规则
1.声明变量必须有 var 关键字
2.函数的形参不可以重复
3.声明式函数调用的时候函数内部没有 this
9.对object对象的补充
1.for-in 遍历对象 for-of循环遍历数组、字符串
for-in 遍历对象
语法:
for(var key in obj){
//key属性
//obj[key]
}
for-of 遍历数组、字符串、也可以遍map集合
for(var v of arr){
//v数组元素
//v字符
//map元素
}
区别:
for..of与for..in的区别,以下说法都正确
A for in可以遍历对象,for of不能遍历对象
B for of可以用来遍历map集合,for in不能遍历map集合
C for in遍历数组得到的是数组的下标,for of遍历数组得到的是数组的元素
D for in遍历键 for of遍历值
总结:
for-in 可以循环遍历对象,数组,字符串
遍历对象 访问对象属性, 遍历数组,访问数组索引号, 遍历字符串,访问字符串索引号
for-of 可以遍历数组,字符串和Map(集合,后面学习), 不能遍历对象
遍历数组,访问数组元素
遍历字符串,访问字符串字符元素
2.访问对象属性:
在JavaScript中,可以使用“ . ”和“ [ ] ”来访问对象的属性。
二者区别:
“ . ”表示法一般作为静态对象使用时来存取属性。
而“[ ]”表示法在动态存取属性时就非常有用。
3.访问对象的方法
在JavaScript中,只能用“ . ”来访问对象的方法。