前言
本篇主要是说明在JS文件中,封装JS比较常用的几种模式。
运用
1.常见写法。
//函数的写法
function run () {
alert('常规写法');//这里是你函数的内容
}
// 调用
run();
2.匿名函数写法
// 匿名函数的写法
var run = function(){
alert('这是一种声明函数的方式,左边是一个变量,右边是一个函数的表达式,意思就是把一个匿名的函数表达式赋值给了变量myfun,只是声明了一个变量指向了一个函数对象。');//这里是你函数的内容
}
// 调用
run();
3.
将方法作为一个对象
// 作为对象方法,函数写法,这里创建了两个函数外面用{}包裹起来
var Test = {
run1:function(){
alert('这个必须放在一个对象内部,放在外边会出错!');//这里是你函数的内容
}
,run2:function(){
alert('这个必须放在一个对象内部,放在外边会出错!');//这里是你函数的内容
}
}
//调用
Test.run1();//调用第1个函数
Test.run2();//调用第2个函数
4.对象构造添加方法的三种形式。
4.1构造函数中给对象添加方法
// 给对象添加方法
var funName = function(){};
funName.prototype.way = function(){
alert('这是在funName函数上的原始对象上加了一个way方法,构造函数中用到');
}
// 调用
var b = new funName();// 创建对象
b.way();//调用对象属性
或者
<script>
function person(name,qq){
this.name = name;
this.qq = qq;
}
person.prototype.showname = function(){//这里showname即使方法的引用也是方法名,有点奇怪
alert("我的名字:"+this.name);
}
var p1 = new person("张三",11111);
var p2 = new person("李四",22222);
p1.showname();
//alert(p1.showname == p2.showname );//true
</script>
4.2
//第二种
person.prototype = {
showname: function(){
alert('我的名字'+this.name)
}
}
4.3
//第三种
person.prototype = function(){
showname = function(){alert('我的名字:'+this.name)}
return { showname: showname}
}()