手机版

javascript面向对象编程函数是一种方法(函数)

时间:2021-10-26 来源:互联网 编辑:宝哥软件园 浏览:

好的程序不是为计算机写的,而是为人类写的。遇到复杂的功能,要考虑简化和组件化,把小功能封装成小组件。小功能块可以任意组合,获得千变万化的复杂功能。函数可以帮助我们封装函数。什么是封装?我想说,只要具体实现是打包的,调用接口是外部提供的,也就是封装,方法和类做这些事情。javascript中的函数可以用来创建方法和类。其实我们可以把它想象成一个由函数模拟的类(说到类,我们通常需要知道闭包的知识)。先看方法。Javascript函数分为命名函数、匿名函数和由匿名函数扩展而来的立即执行函数。普通函数是由函数直接声明的众所周知的函数。函数Hello() { alert('大家好!');};hello();函数SayHelloTo(某人){ alert('hello,'某人'!');};SayHelloTo('张三');Hello和SayHelloTo方法就是上面创建的。Hello没有参数,直接通过Hello()完成通话。SayHelloTo方法有一个参数,在打招呼的时候需要知道你在跟谁打招呼。调用SayHelloTo(“张三”)时传入参数。这些代码与java和C#没有太大区别。但是,方法重载有很大的变化。javascript本身不支持任何重载,一个方法名对应一个方法。如果强制写出多个同名的方法,则先写的方法将被覆盖。函数Hello() { alert('大家好!');};hello();函数Hello(某人){ alert('hello,'某人'!');};你好(“张三”);image

image

第一个Hello方法被覆盖。如果在执行过程中直接调用Hello(),则认为调用了第二个Hello方法而没有传递参数值,因此会弹出未定义的消息。在调用Hello(“张三”)时,执行正常完成。事实上,javascript也可以通过一些简单的方式重载。任何学过C#的人都会知道有一个params关键字,通过这个关键字可以将无限多的参数传递给一个方法。我们可以手动判断参数的信息,模拟类似重载的效果。然而,在javascript中,您根本不需要任何params关键字,并且您可以自然地传递任意数量的参数。函数中有一个arguments属性,可以看作一个数组,它按照传入参数的顺序保存所有参数。也就是说,我们不能在定义方法时声明参数名。函数show arguments(){ var args=' ';for(var I=0;一、论点.长度;i ) { args=参数[i]',';};alert(args.substr(0,args . length-1));};ShowArguments(1,2,3,4,5,6,7);image

尝试用重载来模拟。函数Hello(){ if(arguments . length==0){ alert(' Hello,大家好!');} else { alert('hello,'参数[0]'!');};};hello();你好(“张三”);基于不同数量参数的过载。函数增量(arg){ if(arg==' undefined '){ alert('请输入参数');} if(type of arg==' string '){ alert(String . FromCharCode(arg . CharCode at(0)1));} if(type of arg==' number '){ alert(arg 1);} };增加();增加(' a ');增加(1);基于不同参数类型的重载。除了著名的函数之外,函数还可以是匿名函数。匿名函数是一个没有名字的函数,它是一个完整的函数对象,不管这个函数是有名的还是没有名字的。匿名函数仍然被声明为函数,但是它们不需要命名。其他方面,比如参数,和著名函数没什么区别。function(){……};匿名函数一般满足临时函数要求,不需要被变量引用(众所周知的函数可以认为是带有变量引用的函数)。例如,您需要一个作为值对象的函数作为参数输入方法,并且您需要以编程方式向对象添加事件,所有这些都可以通过匿名函数很好地完成。当然也可以单独声明变量来引用一个匿名的函数对象,和普通的著名函数没什么区别。函数每个(数组,fun){ for(var I=0;i array.lengthI){ fun(array[I]);};};var nums=[1,2,3,4,5,6,7];每个(nums,function(arg){ alert(arg)};});上面的代码依次执行并输出数组中的元素。//加载表单时,显示当前时间窗口。onload=function () {document。title=newdate()。tostring();};//您也可以将匿名方法传递给计时器setinterval(function(){ document . title=new date()。tostring();}, 1000);使用匿名函数绑定事件并执行定时操作。var Hello=function() { alert('大家好!');};如果一个匿名函数被赋给一个变量,它与众所周知的普通函数没有什么不同。但是,无论是变量引用还是通称函数,这样的函数都会永久占用内存中的某些资源。有时我们只想执行一次,所以不需要使用引用函数。直接执行匿名函数可能是最好的选择。包装匿名函数,加括号执行,一切正常。这是从匿名函数扩展而来的立即执行函数。(function() { alert('大家好!' );})();(函数(某人){ alert('你好,某人'!');})(“张三”);即时执行函数在绑定事件和设置回调函数时往往会产生意想不到的效果,可以解决对象引用等问题。Var学生={Name: '张三',年龄: 20,introducce 3360 function(){ alert('我叫'这个。名字,今年的这个。‘年龄’就是老!' );} };window . onload=(function(obj){ return function(){ obj。引入();};})(学生);由于javascript函数的这些特性及其对象的特性,我们也可以编写一些函数程序。其实函数真的是javascript中的老大。函数Sum(fun,x) { if (x=0)返回0;返回乐趣(x) Sum(乐趣,x-1);};alert(Sum(函数(I){ return I * I;}, 100));下一步是什么?是方法吗?是一节课吗?函数Point(){ };我们就此打住,下次再来看课。

版权声明:javascript面向对象编程函数是一种方法(函数)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。