@[TOC]Javascript学习笔记(2)
在JavaScript中,对象是一组无序的相关属性和方法的集合,所有的事物都是对象,例如字符串,数值,数组,函数等。
对象是由属性和方法组成
属性:事物的特征,在对象中用属性来表示,比如颜色,重量,尺寸等。
方法:事物的行为,在对象中用方法来表示,比如吃喝拉撒叫等
变量属性的对比:
变量:单独声明并赋值 ,使用时直接写变量名,单独存在
属性:在对象中不需要声明的,都是实现某种功能,做某件事
函数与方法的对比:
函数和方法的相同点都是实现某种功能,做某件事,一般将函数和方法混着叫
函数是单独声明,并且调用的 函数名(),单独存在的 fun();
方法 在对象里面,调用的时候 ,对象名.方法() dog.showFilm();
创建对象的方法
1.利用对象的字面量创建对象
<script>
var obj = {
uname: '张三',
age: 20,
sex: '男',
sayHi: function () {//方法冒号后面跟的是一个匿名函数
alert('hi~');
}
}
//1.调用对象的属性,对象名.属性名
console.log(obj.uname);//输出:张三
//2.对象名['属性名']
console.log(obj['age']);//输出:20
//3.调用对象的方法 对象名.方法名()
obj.sayHi();//输出:hi~
</script>
例子:
<script>
var dog = {
dname: '可可',
dtype: '阿拉斯加',
age: 5,
color: '棕红色',
bark : function () {
console.log('汪汪汪');
},
showFilm : function () {
console.log('演电影');
},
}
dog.bark();//汪汪汪
dog.showFilm();//演电影
console.log(dog.age);//5
console.log(dog['dtype']);//阿拉斯加
</script>
2.利用new Object 创建对象
<script>
var obj = new Object();
obj.uname = '张三';
obj.age = 20;
obj.sex = '男';
obj.sayHi = function () {
alert('hi~');
}
//调用方法一样
console.log(obj.uname);
console.log(obj['age']);
obj.sayHi();
</script>
例子:
<script>
var person = new Object();
person.uname = '鸣人';
person.age = 19;
person.gender = '男';
person.skill = function () {
console.log('影分身术');
}
console.log(person.uname);//鸣人
console.log(person['age']);//19
person.skill();// 影分身术
</script>
3.利用构造函数创建对象
因为我们一次创建一个对象,里面有很多的属性和方法是大量相同的,利用函数的方法,
将重复的代码封装到函数中,这个函数就叫构造函数
构造函数就是将对象里面的一些相同的属性和方法抽象出来封装到函数里面
//构造函数语法格式
function 构造函数名() {
this.属性 = 值;
this.方法 = function () {
//具体方法
}
}
//构造函数调用
new 构造函数名();
例子:
<script>
function Star(uname,age,sex) {
this.name = uname;
this.age = age;
this.sex = sex;
this.sing = function (sing) {
console.log(sing)
}
}
let ldh = new Star('刘德华',18,'男');
console.log(typeof ldh);//object
console.log(ldh.age);//18
console.log(ldh['name']);//刘德华
ldh.sing('冰雨');//冰雨
</script>