JS中封装函数怎么弄?

2021-03-31 09:30发布

11条回答
隔壁街道小胖子
2楼 · 2021-03-31 15:18

1、JS封装就是尽量把使用的方式简单化,部逻辑和使用解耦。通俗的说就是使用的时候只需要知道参数和返回值,其他条件尽量不要使用人员进行设置。

2、JS封装的方法有函数方式、对象的方式、闭包的方式。

举例

1)函数方式
function kk(a,b){
   部对a,b怎么处理就不需要关心了
}

2)对象方式
function kk(a,b){
   this.x = a;
   this.y = b;
}
var k = new kk(1,2);//通过面向对象的方式
alert(k.x);
3)闭包方式
function kk(a,b){
   var k = 1;
   return function tt(){
      k++;
   }
}
var u = kk(1,2);
u();//闭包实现累加
u();//闭包实现累加


20200921文 - 做更棒的自己!
3楼 · 2021-03-31 20:37

funtion test(obj)
{
obj.onblur=function(){
if(!obj.value.match(re)){ obj.style.border='1px solid red';}
else{obj.style.border='';}
}

}

test(oIpt1);test(oIpt2);test(oIpt3);

三岁奶猫
4楼 · 2021-04-01 13:43

定义函数,又叫声明函数,封装函数。定义函数的三个要素:功能,参数,返回值。

大冬瓜
5楼 · 2021-04-01 16:43

var $=function(str){



var element=null;


if(str.length>0){


switch (str[0]){


case '.':


element=document.getElementsByClassName(str.substr(1,str.length-1));


break;


case '#':


element=document.getElementById(str.substr(1,str.length-1))


break;


default:


element=document.getElementsByTagName(str);


break;


}


}


element.on=function(type,listener){


element.addEventListener(type,listener);


}


return element;


}


小小收藏家
6楼 · 2021-04-02 16:32

1、JS封装就是尽量把使用的方式简单化,部逻辑和使用解耦。通俗的说就是使用的时候只需要知道参数和返回值,其他条件尽量不要使用人员进行设置。

2、JS封装的方法有函数方式、对象的方式、闭包的方式。

举例

1)函数方式
function kk(a,b){
   部对a,b怎么处理就不需要关心了
}

2)对象方式
function kk(a,b){
   this.x = a;
   this.y = b;
}
var k = new kk(1,2);//通过面向对象的方式
alert(k.x);
3)闭包方式
function kk(a,b){
   var k = 1;
   return function tt(){
      k++;
   }
}
var u = kk(1,2);
u();//闭包实现累加
u();//闭包实现累加


猿小猿
7楼 · 2021-04-02 17:45

1、JS封装就是尽量把使用的方式简单化,部逻辑和使用解耦。通俗的说就是使用的时候只需要知道参数和返回值,其他条件尽量不要使用人员进行设置。

2、JS封装的方法有函数方式、对象的方式、闭包的方式。

举例

1)函数方式
function kk(a,b){
   部对a,b怎么处理就不需要关心了
}

2)对象方式
function kk(a,b){
   this.x = a;
   this.y = b;
}
var k = new kk(1,2);//通过面向对象的方式
alert(k.x);
3)闭包方式
function kk(a,b){
   var k = 1;
   return function tt(){
      k++;
   }
}
var u = kk(1,2);
u();//闭包实现累加
u();//闭包实现累加


我的网名不再改
8楼 · 2021-04-04 12:41

方法/步骤

  1. 1

    方法调用模式:先定义一个对象,然后在对象的属性中定义方法,通过myobject.property来执行方法,this即指当前的myobject 对象。var blogInfo={  blogId:123,  blogName:werwr,  showBlog:function(){alert(this.blogId);}};

    blogInfo.showBlog();

    js函数封装与调用方法

  2. 2

    函数调用模式定义一个函数,设置一个变量名保存函数,这时this指向到window对象。

    var myfunc = function(a,b){  return a+b;}

    alert(myfunc(3,4))。

    js函数封装与调用方法

  3. 3

    构造器调用模式定义一个函数对象,在对象中定义属性,在其原型对象中定义方法。在使用prototype的方法时,必须实例化该对象才能调用其方法。var myfunc = function(a){  this.a = a;};myfunc.prototype = {  show:function(){alert(this.a);}}

    var newfunc = new myfunc(123123123);newfunc.show();

    js函数封装与调用方法

  4. 4

    对象属性的封装(公有和私有) 

    以例子来说明 

    function List(){ 

    var m_elements=[]; //私有成员,在对象外无法访问,如果此处无var声明,则m_elements将变成全局变量,这样外部是可以直接访问到的,如alert(m_elements[0]) 

    m_elements=Array.apply(m_elements,arguments); 

    //此处模拟getter,使用时alist.length; 

    //等价于getName()方式:this.length=function(){return m_elements.length;}。

    js函数封装与调用方法

  5. 5

    四,属性和方法的类型 

    javascript里,对象的属性和方法支持4种不同的类型:private property(私有属性),dynamic public 


    property(动态公有属性),static public property/prototype property(静态公有属性或原型属性), 

    static property(静态属性或类属性)。私有属性对外界完全不具备访问性,可以通过内部的getter和 


    setter(都是模拟);动态公有属性外界可以访问,每个对象实例持有一个副本,不会相互影响;原型 

    属性每个对象实例共享唯一副本;类属性不作为实例的属性,只作为类的属性。

    js函数封装与调用方法


小小邓
9楼 · 2021-04-07 17:38

方法调用模式:先定义一个对象,然后在对象的属性中定义方法,通过myobject.property来执行方法,this即指当前的myobject 对象。var blogInfo={  blogId:123,  blogName:werwr,  showBlog:function(){alert(this.blogId);}};

blogInfo.showBlog();

函数调用模式定义一个函数,设置一个变量名保存函数,这时this指向到window对象。

var myfunc = function(a,b){  return a+b;}

alert(myfunc(3,4))。

构造器调用模式定义一个函数对象,在对象中定义属性,在其原型对象中定义方法。在使用prototype的方法时,必须实例化该对象才能调用其方法。var myfunc = function(a){  this.a = a;};myfunc.prototype = {  show:function(){alert(this.a);}}

var newfunc = new myfunc(123123123);newfunc.show();

对象属性的封装(公有和私有) 

以例子来说明 

function List(){ 

var m_elements=[]; //私有成员,在对象外无法访问,如果此处无var声明,则m_elements将变成全局变量,这样外部是可以直接访问到的,如alert(m_elements[0]) 

m_elements=Array.apply(m_elements,arguments); 

//此处模拟getter,使用时alist.length; 

//等价于getName()方式:this.length=function(){return m_elements.length;}。

四,属性和方法的类型 

javascript里,对象的属性和方法支持4种不同的类型:private property(私有属性),dynamic public 


property(动态公有属性),static public property/prototype property(静态公有属性或原型属性), 

static property(静态属性或类属性)。私有属性对外界完全不具备访问性,可以通过内部的getter和 


setter(都是模拟);动态公有属性外界可以访问,每个对象实例持有一个副本,不会相互影响;原型 

属性每个对象实例共享唯一副本;类属性不作为实例的属性,只作为类的属性。


相关问题推荐

  • 回答 120

    相对前几年来说,要高上不少了,毕竟入行的人也是越来越多了,基础的工作对应想要参与的人群基数越来越大,但是对于高端人才的需求还是很多,人才还是相对稀缺性的。所以,想要学web或者其他技术也一样,别等,别观望。web前端就业方向特别多包括web前端开发...

  • 回答 25

    相对定位和绝对定位是定位的两种表现形式,区别如下:一、主体不同1、相对定位:是设置为相对定位的元素框会偏移某个距离。2、绝对定位:absolute 脱离文档流,通过 top,bottom,left,right 定位。二、特点不同1、相对定位:在使用相对定位时,无论是否进行移...

  • 抓包是什么意思?2020-04-01 17:36
    回答 7
    已采纳

    抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。抓包可以通过抓包工具来查看网络数据包内容。通过对抓获的数据包进行分析,可以得到有用的信息。目前流行的...

  • 回答 89

    常用的前端框架有Bootstrap框架、React框架、Vue框架、Angular框架、Foundation框架等等

  • 回答 65
    已采纳

    前端是目的就业前景非常不错的一个计算机技术,但是自学的话还是有一定难度的,网络上自学是碎片化的,同时互联网技术跟新换代快,自己的话比较吃力也学习不到最新的技术。

  • SSR 是什么意思?2020-03-20 18:56
    回答 6

    SSR就是一台服务器,可以利用 SSR 在远程的服务器上配置 SSR,使其能够成为 SSR 节点,这样本地电脑或者其它设备利用 SSR 节点实现 VPN 或者远程上网及游戏加速等方面。ShadowsocksR(简称 SSR)是 Shadowsocks 分支,在 Shadowsocks 的基础上增加了一些数据...

  • 回答 52
    已采纳

    计算机培训方向比较多,建议找适合自己的方向选择培训编程类:JAVA、WEB、Python、C/C++、C#等测试类:软件测试运维类:云计算、网络安全设计类:UI设计、3D建模等

  • 回答 11

    1、代码判断xAxis: {type: 'time',splitLine: {show: false},interval: 3600, // 设置x轴时间间隔axisLabel: {formatter: function(value, index) {return liangTools.unix2hm(value)}}},首先要把xAxis 显示类型设置成time,然后设置对应X轴......

  • 回答 8

    HTML5 + CSS + JavaScript 开发 跨平台重用代码 

  • 回答 4

    采用rem单位自动响应,并提供独有栅格化系统快速定义宽高、边距节省css代码量,同时总结各大型移动端网页,提供一套ui颜色搭配规范,尺寸规范,字体规范等。

  • 回答 10

    iView UI、ioni、SUI

  • 回答 6

     jQTouch 

  • 回答 4

    如果只是普通的移动端用vue react 或者dva 如果是要编译成小程序什么的或者混生 就用uni-app(对应vue语法)taro(对应react) 或者纯原生 这个没有限制的,自己怎么舒服怎么来

  • 回答 4

    因为可以运用在网页和小程序的开饭中,而且开源,用着便宜,企业都很喜欢

  • 回答 10

    一、Visual Studio Code下载地址:https://code.visualstudio.com/微软在2015年4月30日Build 开发者大会上正式宣布了 Visual Studio Code 项目:一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器。Visual Stud...

  • 回答 9

    jQuery自带淡入淡出效果 https://www.w3school.com.cn/jquery/jquery_fade.asp 看看这个 

没有解决我的问题,去提问