JavaScript基础--对象
2024-01-08 12:24:26
一、什么是对象?
世间万物皆为对象
电脑:
特征:内存、颜色、牌子、尺寸……
行为:打游戏、敲代码、看视频、网上冲浪……
二、js中的对象:
1、将现实实物的抽象
对象属性==实物特征 对象方法==实物行为 对象的方法其实是一种特殊的对象的属性,属性值是函数类型的
2、无序属性的集合(属性名重复会发生覆盖)
三、创建对象的方式:
1、字面量创建对象
2、new Object()
3、工厂模式
4、构造函数
行为==方法==函数
四、对象中属性值的获取和方法的调用
对象.属性
对象.方法()
// 1、
var car = {
// key:value
// 属性名:属性值
color: '黑色的',
code: 123456,
size: '5米',
size: '6米',
// 方法名(属性名)
run: function () {
console.log('汽车会行驶')
},
stop: function () {
console.log('汽车会驻车')
},
}
console.log(car)
console.log(typeof car) //object
console.log(car.color) //黑色的
console.log(car.code) //123456
console.log(car.size) //5米
car.run() //汽车会行驶
car.stop() //汽车会驻车
// 2、人
var person = new Object()
console.log(person)
person.name = '小花'
person.age = 18
person.age = 19
person.sex = '女生'
person.playBaskectball = function () {
console.log(this.name + '喜欢打篮球')
}
console.log(person.name)
console.log(person.age)
console.log(person.sex)
person.playBaskectball()
// 3、
function createPerson(name_1, age, sex, playBaskectball) {
var person = new Object()
person.name = name_1
person.age = age
person.sex = sex
person.playBaskectball = playBaskectball
return person
}
var p1 = createPerson('小明', 10, '男生', function () {
console.log('打篮球')
})
console.log(p1)
var p2 = createPerson('喜羊羊', 2, '男生', function () {
console.log('喜欢打灰太狼')
})
console.log(p2)
p2.playBaskectball()
// 4、
/*
构造函数:
1、函数
2、模版
3、一般让函数名的首字母大写
new关键字的作用
1、创建出新对象==构造函数的实例化
2、让构造函数中的this指向实例化对象
*/
function Person(name, age) {
this.name = name
this.age = age
this.eat = function () {
console.log('喜欢吃零食!')
}
}
//实例化对象p_1
var p_1 = new Person('小刚', 12)
console.log(p_1)
console.log(p_1.name)
console.log(p_1.age)
p_1.eat()
var p_2 = new Person('小丽', 20)
console.log(p_2)
/*
五、函数中this的指向问题
1、在构造函数中this指向实例化对象
2、在自定义普通对象的方法中this指向当前对象
3、在普通函数中this指向window
*/
var ball = '足球'
function demo1() {
console.log(ball) //足球
console.log(window.ball) //足球
console.log(this.ball) //足球
console.log(this) //Window
}
demo1()
// 六、对象的遍历 for……in
for (x in p_1) {
// 属性名和方法名
console.log(x)
// 在对象的循环遍历中不能通过打点的方式获取属性值
// console.log(p_1.x);
console.log(p_1[x])
}
文章来源:https://blog.csdn.net/du_cr/article/details/135412114
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!