创建对象
对象的概念:
- 对象和数组的本质一样 都是组织一堆数据
- 只不过 对象的下表不为数字而且无序
- 每个编号–>内容
- 属性–>值
对象和数组的本质一样 都是组织一堆数据
只不过 对象的下表不为数字而且无序
创建对象:(不仅给值 还给属性)
- 创建对象和数组的[]不一样
- 和创建对象用{}
- 和创建数组直接放置的值不一样 创建对象时值前面还要加上属性
- 创建语法:
{属性1:值1,属性2:值2}
对象单元值的引用:(两种方法)
Obj.属性
Obj['属性']
1 | var stu = {name:'小明',age:22,number:007,score:99}; |
对象的遍历
遍历对象:
- 因为对象的属性和数组的下标不一样
- 数组的下表从0开始并且有规律的递增 因此可以用for循环遍历
- 对象的属性 没有规律的
- for in结构来遍历
1
2
3For(per in Obj){
......
}
注意:在for in
结构中循环得到的属性取值时不能用Obj.属性
的方式 只能用中括号
- 对象和数组本质一个键值对
1 | var stu = {name:'小明',age:22,number:007,score:99}; |
对象的单元删除
- 对象的单元删除:对象单元的删除delete obj.属性
1 | var stu = {name:'小明',age:22,number:007,score:99}; |
对象的方法
- 在js中 函数本身就是变量 而在数组和对象中存储的就是‘变量’
- 对象的某个属性的值–没有可能是一个哈函数?也是可以的
对象的某个属性对象的值可以是函数,如果是函数时,这个属性叫做方法
如果对象的某个方法(属性),需要调用自身的某个属性值,可以在函数中用一个关键词this来代替自己这个对象
this
–>指向当前正在调用这个方法的对象(对象自身)
1 | //写法1 |
1 | //写法2 |
1 | //写法3 推荐 |
JavaScript内置对象:
在js中 所有的变量 都可以被js引擎包装秤对象来处理
比如:
str='abd'
字符串本身没有length
属性但是你去调用
str.length
在调用一瞬间js
引擎会把它包装成一下 当做对象来处理 并且给这个赋了一些方法对于字符串 布尔值 数值类型 数组
null
这些变量 虽然没有属性 但是在调用的前一瞬间 js会为他们包装一些属性和方法还有一些内置对象,是通过
new
得来的 比如:日期时间对象 先new
在调用方法和属性Math
对象 和字符串一样 不用new
也能直接其方法
字符串对象的属性和方法:
length
属性: 长度concat
方法:连接两个或者更多个字符串indexOf(String)
返回出现字符串的位置 找不到就返回-1substr(num1,[num2])
//截取字符串 num2截取的宽度toUpperCase()
转换成大写toLowerCase()
转换成小写replace(oldstr1,newstr2)
//字符串替换
1 | var str = 'helloworld';//这是一个字符串变量 |
日期时间对象
- 日期时间对象 必须通过new 来得到
- 早数组可以
new Array()
造日期时间对象
new Date();
getYear()
返回年份(2位或4位)getFullYear()
返回年份(4位)getMonth()
返回月份(0-11)getDate()
返回日期 1-31getDay()
返回星期数 0-6getHours()
返回小时数0-23getMinutes()
返回分钟数 0-59getSeconds()
返回秒数 0-59getMilliseconds()
返回毫秒数0-999
1 | var time = new Date(); |
1 | //页面上动态时钟 |
Math对象
Math
对象 和字符串一样 不用new
也能直接其方法ceil(数值)
大于或等于该数的最小整数floor(数值)
小于或等于该数的最大整数min(数值1,数值2)
返回最小值max()
返回最大值pow(num1,num2)
//返回num1的那么次方random()
返回随机数 0–1round(数值)
四舍五入sqrt(数值)
开平方根
1 | for (var i = 0; i < 20; i++) { |
1 | //输入任意两个数字 返回两个数之间的随机数的整数 |