调用对象的函数模式和方法模式
函数也可以称为对象的属性
如果一个函数作为一个对象的属性保存
那么我们称这个函数是这个对象的方法
调用这个函数就是调用对象的方法(method)
但是它只是名称上的区别 没有其他区别
- 调函数 即简单的函数调用, 函数名前面没有任何引导内容
- 调方法 就是函数前面必须有引导对象—–>对象.函数();
如:console.log();
docunmet.write();
都是在调用方法
例:
var obj = new Object();
obj.name=”蜡笔小新”;
obj,age=18;
function fun(){
console.log(obj.name);
};
//调方法
obj.sayName();
//调函数
fun();
------它俩的执行结果是一样的
枚举对象中属性值和属性名的方法
for...in语句: 对象中有几个属性 循环体就会执行几次
每次执行时 都会将对象中的一个属性的名字赋值给变量
语法:
for(var 变量 in 对象){
}
实例:
var obj = new Object();
obj.name="蜡笔小新";
obj.age=5;
obj.gender="男";
for(var n in obj){
console.log("属性名:"+n+"属性值:"+obj[n]);
}
因为n是一个变量 它可能是任意一个属性名 所以需要使用中括号
这样n的值是什么 我们就在对象中找哪个属性
this参数
解析器(浏览器)在调用函数时每次都会向函数内部传递一个隐含的参数,这个隐含的参数就是this,this指向的是一个对象
这个对象我们称为函数执行的上下文对象根据函数的调用方式的不同,this会指向不同的对象
1.以函数的形式调用时,this永远都是window
2.以方法的形式调用时,this就是调用方法的那个对象,谁调用,this就是谁