一、构造函数定义方法
语法规则:function 构造函数名(实参){
this.属性名=属性值;
this.方法=function(实参){
普通函数体;
}
}
调用方式:
<script>
function Star(name, age, year) {
this.name = name;
this.age = age;
this.year = year;
this.skill = function(sing) {
console.log(sing);
}
}
/* 对构造函数中的方法调用的时候一定要采取先对函数进行匿名函数定义方式,
其次利用变量对函数给特定名称在调用其内部的函数时利用:匿名函数名+方法; */
var ldh = new Star('刘德华', 2000, 18);
ldh.skill('冰雨');
// 此内部函数单独存在不与其内部发生冲突,因此调用方式与普通函数一致,传参方式也一样
</script>
对构造函数中的方法调用的时候一定要采取先对函数进行匿名函数定义方式,
其次利用变量对函数给予特定名称在调用其内部的函数时利用:匿名函数名+方法;
对于内部嵌套的函数:此内部函数单独存在不与其内部发生冲突,因此调用方式与普通函数一致,传参方式也一样;
注意点:
- 构造函数名字首字母要大写
- 我们构造函数不需要return就可以返回结果
- 我们调用构造函数必须使用new
- 我们只要new Star()调用函数就创建一个对象
- 我们的属性和方法前面必须添加this
二、对于new关键字的解析
我们可以利用new关键字在内存中开辟一块新的空间用来存储对象和属性,在调用以后返回相应的值、
new关键字执行过程
- new构造函数可以在内存中创建了一个空的对象
- this就会指向刚才创建的空对象
- 执行构造函数里面的代码给这个空对象添加属性和方法
- 返回这个对象
三、利用for in循环遍历对象
语法规则:for(变量 in 对象){
//循环体
}
eg:
<script>
var obj = {
// <!-- 对象利用逗号区分开来 -->
name: '里哈',
age: 38,
birthYear: 2000,
sex: '男'
}
for (var k in obj) {
console.log(obj[k]);
}
</script>