1.访问属性
对象.属性名 一般作为静态对象使用时来存取属性
对象.[属性名] 动态存取属性时,属性可变化,也就是属性是一个变量的时候
示例1:获取动态用户名,密码等信息
// 2.已知字符串 'http://www.baudu.com?username=admin&password=123',
//获取它的用户名和密码信息,以及添加相似格式的信息后依旧能获取到。
function getUserNameAndPassword() {
var url = 'http://www.baidu.com?username=admin&password=123'
//创建一个空对象,用于存放字符串
var obj = {}
//把地址从?处截取,输出后面一节
var index = url.indexOf('?')
//删除最前面内容,username=admin&password=123
var urlNew= url.substring(index+1)
//截取掉&,存储到数组中, ["username=admin", "password=123"]
var urlArr=urlNew.split('&')
//遍历数组
for(var i=0;i<urlArr.length;i++){
var item=urlArr[i] //username=admin password=123
var urlNewArr=item.split('=')
var getName=urlNewArr[0]
var getMsg=urlNewArr[1]
obj[getName]=getMsg //吧对象存储到obj里面
}
console.log(obj)
}
getUserNameAndPassword()
2.访问对象方法以及遍历方法
示例2:判断字符串出现次数最多的字符,统计次数
<script>
var str = 'abifweufsbaadssdadfffwe'
var countObj = {} //定义一个空对象,用来存储对象出现的次数
function getCount() {
//遍历字符串
for (var i = 0; i < str.length; i++) {
chars = str.charAt(i) //存放字符和次数
//如果字符存在,则次数+1,如果不存在,设置字符次数为1
if (countObj[chars]) {
countObj[chars]++
} else {
countObj[chars] = 1
}
}
console.log(countObj)
}
getCount()
var max=0 //定义一个最大数
var maxChar //最大数的代表的字符
//简单对象遍历方法
//遍历countObj,如果字符的次数大于max,则将值赋给max,同时把代表的字符赋给maxChar
for(var key in countObj){
if(countObj[key]>max){
max=countObj[key]
maxChar=key
}
}
document.write(`${maxChar}:${max}`)
</script>