js函数封装与调用方法
在编写JavaScript代码时,函数的封装和调用是非常重要的一部分。本文将介绍几种常见的函数调用模式。
1. 方法调用模式
方法调用模式是指先定义一个对象,然后在对象的属性中定义方法,通过``来执行方法,其中`this`关键字指向当前的`myobject`对象。
```
var blogInfo {
blogId: 123,
blogName: "werwr",
showBlog: function() {
alert();
}
};
();
```
2. 函数调用模式
函数调用模式是指直接定义一个函数,然后使用一个变量名保存该函数,此时`this`关键字指向全局的`window`对象。
```
var myfunc function(a, b) {
return a b;
}
alert(myfunc(3, 4));
```
3. 构造器调用模式
构造器调用模式是指定义一个函数对象,在对象中定义属性,并在其原型对象中定义方法。在使用原型方法时,必须实例化该对象才能调用其方法。
```
var myfunc function(a) {
this.a a;
};
{
show: function() {
alert(this.a);
}
};
var newfunc new myfunc(123123123);
();
```
4. 对象属性的封装(公有和私有)
对象属性的封装可以实现公有属性和私有属性的定义。私有属性在对象外部无法访问,可以通过内部的getter和setter进行模拟。
```javascript
function List() {
var m_elements []; // 私有成员,在对象外无法访问
m_elements (m_elements, arguments); // 模拟getter
this.length function() {
return m_elements.length;
};
}
```
5. 属性和方法的类型
在JavaScript中,对象的属性和方法支持四种不同的类型:私有属性、动态公有属性、静态公有属性/原型属性和静态属性/类属性。
- 私有属性对外界完全不可访问,可以通过内部的getter和setter进行模拟。
- 动态公有属性外界可以访问,每个对象实例持有一个副本,不会相互影响。
- 原型属性每个对象实例共享唯一副本。
- 类属性不作为实例的属性,只作为类的属性。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。