你要知道javascript中的function定义的函数实际上就是Function对象实例。
例如:
function demo(x){
alert(x)
}
实际上等价于:
Function demo = new Function("x","alert(x)")
所以你如果想要用javascript来模拟面向对象编程(例如Java的类),那么就可以用function来模拟Class,用function的原型prototype或者嵌套function来模拟类的方法或者属性。下面给你一个简单的例子:
//模拟学生类,可以带参数,例如initName
function Student(initName){
var name = initName//模拟学生类的属性name
}
Student.prototype.printName = function(){ //定义Student类prototype中的printName函数
alert(this.name)
}
测试时可以这样写:
var student = new Student("张三")//创建一个“Student对象”,实际上是一个Function实例对象
student.printName() //执行student对象的printName函数
JS创建类作用非常大哦,可以把一些常用的,复杂的过程封装进去在使用的时候简单调用就完成。代码可读性提高、维护起来也方便
举个例子来说:JS的日历控件
我们创建一个JS控件的类,在需要使用到日历控件的类简单调用触发
弹出控件的函数就能实现