分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

第202天:js---重载和多态

发布时间:2023-09-06 01:46责任编辑:熊小新关键词:js

一、根据arguments个数实现重载

js本身不支持重载,所以只能通过其他方式实现,arguments检测传参的个数,然后再执行不同的方式

 1 function add() { 2 ????????var sum = 0 ; 3 ????????for ( var i = 0 ; i < arguments.length; i ++ ) { 4 ????????????sum += arguments[i]; 5 ????????} 6 ????????return sum; 7 ????} 8 ????alert(add()); 9 ????alert(add( 1 , 2 ));10 ????alert(add( 1 , 2 , 3 ));

二、检测数据类型实现重载

根据传参的类型,调用不同的方法,用typeof进行检测

 1 //检测数据类型实现重载 typeof 2 ????var MyClass=function(){ 3 ????????var AddNum=function(a,b){ 4 ????????????return a+b; 5 ????????} 6 ????????var AddString=function(a,b){ 7 ????????????return "I am here"+a+b; 8 ????????} 9 ????????this.Add=function(a,b){10 ????????????if(typeof(a)=="number")11 ????????????????return AddNum(a,b);12 ????????????else13 ????????????????return AddString(a,b);14 ????????}15 ????}16 17 ????function add(a,b){18 ????????return a+b;19 ????}20 21 ????function add(a,b){22 ????????return "I am here"+a+b;23 ????}24 25 ????var MyObj = new MyClass();26 ????var X = MyObj.Add(5,6);27 ????var Y = MyObj.Add("A","FFFFFF");28 ????alert(X); //结果:1129 ????alert(Y); //结果:I am hereAFFFFFF

三、jquery中的重载

如果传递2个参数表示获取值,传递三个参数表示赋值

 1 function attr(id, key, value){ 2 ????????var dom = ?$$.$id(id); 3 ????????var args = arguments.length; 4 ????????if(args ===3 ){ 5 ????????????dom.setAttribute(key, value); 6 ????????}else{ 7 ????????????return dom.getAttribute(key); 8 ????????} 9 ????}10 attr(1,2);11 attr(1,2,3);

第202天:js---重载和多态

原文地址:https://www.cnblogs.com/le220/p/8588258.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved