var jsPerson1 = {
name:"王小波",
age:"48",
writeJs:function(){
console.log("my name is "+this.name+",i can write js 啦~");
}
}
jsPerson1.writeJs();
var jsPerson2 = {
name:"尹华芝",
age:"18",
writeJs:function(){
console.log("my name is "+this.name+",i can write js 啦~");
}
}
jsPerson2.writeJs();
//单利模式虽然解决了分组的作用,但是不能实现批量生产,属于手工作业模式->"工厂模式"
//把实现同一件事情的相同代码放到一个函数中,以后如果再想实现这个功能,就不需要重新的编写这些代码了,只需要执行当前的函数即可 -->"函数的封装"-->"低耦合 高内聚" 减少页面中的冗余代码,提高代码重复利用率
/**function createJsPerson (name,age){
var obj = {};
obj.name = name;
obj.age = age;
obj.writeJs = function(){
console.log("my name is "+this.name+",i can write js 啦~");
}
return obj;
}
var p1 = createJsPerson ("王小波",48);
p1.writeJs();
var p2 = createJsPerson ("尹华芝",18);
p2.writeJs();
//js是一门轻量级的脚本"编程语言"(HTML+CSS不属于编程语言,属于标记语言)
//.net C# php Java c c++ vb vf object-c ...
//所有的编程语言都是面向对象开发的->类的继承、封装、多态
//封装 :把实现同一件事情的相同代码放到一个函数中,以后如果再想实现这个功能,就不需要重新的编写这些代码了,只需要执行当前的函数即可
//继承:子类继承父类中的属性和方法
//多态:当前方法的多种形态,在后台语言当中,多态包括重载和重写
//重载:两个方法名相同,两个方法的参数不同,执行的时候调用不同的方法来执行
public void sum(int num1, int num2){
}
public void sum(String num1, int num2){
}
sum("1")
function sum (num1,num2){
}
function sum (num1){
}
sum(1);
sum(1,2);
//"在JS当中不存在重载",方法名一样的话,后面的会把前面的覆盖掉,最后只保留一个
//JS中有一个操作类似重载但是 不是重载:我们可以根据传递参数的不一样,实现不同的功能
function sum (num){
if(typeof num ==="undefined"){
return 0;
}
return num;
}
sum(1000);
sum();//同一个方法,根据传递参数的不一样,实现了不同的功能
//重写:子类重写父类的方法
**/