当前位置: 首页 > Web前端 > HTML5

好程序员web前端学习路由分享功能基础

时间:2023-04-05 02:18:31 HTML5

好程序员web前端学习路由分享功能基础,在此之前,先说说函数是什么?函数只是一个代码块,可以是完全独立的与其他内容无关的代码块,也可以是与外部环境密切相关的代码块。函数是具有输入和输出的独立代码块。函数是程序最重要的构建块。函数是一种封装(将一些语句封装成一个函数)。函数可以封装任意数量的语句,可以随时随地调用和执行。在javascript中,函数是对象,程序可以随意操作它们。函数可以嵌套在其他函数中定义,这样它们就可以访问它们定义范围内的任何变量,这为javascript带来了非常强大的编程能力。函数的作用和好处:1)函数中会写大量重复的语句,这样以后需要这些语句的时候,直接调用函数就可以了,不用重写那些语句。2)简化编程,使编程模块化。函数声明函数的声明方式有3种,各有特点。1、普通函数声明函数关键字+函数名+(){名字和变量一样,只能是字母、数字、下划线、美元符号,不能以数字开头。2.参数放在()后面的函数名的规范:1.对于普通函数,函数名需要用驼峰命名,即函数由多个词组组成时,函数的首字母第一个单词小写,其余单词首字母大写。函数名不能与关键字和保留字重复,也不能与变量名重复。2.类的构造函数以驼峰命名,但第一个单词的首字母需要大写。2.匿名函数声明var变量名=function(){函数内容}varfunName=function(){//函数内容};定义一个匿名函数,所谓匿名函数是没有函数名的。但是如果匿名函数定义后没有保存在变量中,是找不到的。因此,我们通常使用一个变量来接收匿名函数。匿名函数的结尾需要以;结尾,普通函数不需要以;结尾。varfunName=functionabc(){//函数内容console.log(abc);}匿名函数也可以定义函数名,但是不能在比较的地方使用,只能在函数内部使用。3.函数构造函数声明使用Functionconstructorvarbox=newFunction('num1','num2','retunnum1+num2');//num1,num2参数num1,num2参数,最后的字符串为函数体注意:我们不推荐第三种方式,因为这种语法会导致代码被解析两次(第一次是解析常规的JS代码,第二次是解析传入构造函数的字符串),会影响性能,但是我们可以通过这种语法来理解函数是对象,函数名是指针的概念。存储函数JavaScript程序是一种解释型语言。那么什么时候做解释性语言。计算机实际上并不理解程序,无论它们是什么代码,因为计算机只是机器。如果我们需要计算机理解程序,就需要一个翻译器,就是将程序代码转换成计算机可以理解的语言:0和1信息序列。目前有两种翻译类型:一种是编译型,一种是口译型。两种方式都需要翻译代码,只是翻译时间不同。在计算机运行代码之前,编译语言将代码翻译成计算机可以理解的文件。这种文件,计算机可以看懂,但是程序员和其他人员都看不懂。而这种代码是可以被计算机执行的,但是每次我们需要修改代码的时候,都需要修改源代码,然后编译新的文件才可以使用,也就是不能在上面修改编译后的文件。这种代码的好处是运行速度快,代码有没有错在执行之前就知道了,因为判断是在编译期的。解释语言是不同的。解释型语言的程序在运行前不需要编译,在程序运行时进行翻译。每条语句执行时,都有专门的解释器负责解释程序代码。这样解释型语言每次执行都需要翻译,效率比较低。并且在执行之前不知道代码是否错误。JavaScript是一种解释型语言。但是注意,程序运行时,解释器会先把所有共同定义的函数收集起来,存放在堆中,然后从头开始执行代码。abc();functionabc(){}比如我们看到abc的执行是在函数之上。如果按照代码的执行顺序,应该先执行abc,再创建函数,那么显然会报错。但是这样就不会有问题了。也就是说函数会先被收集到堆中,无论在哪里调用都会调用堆中的函数,所以一般定义的函数在调用时可以写在前面也可以写在后面被执行。但是请注意,如果我们使用匿名函数,情况就不同了。虽然我们会将匿名函数收集到堆中,但是如果找到了,在执行之前需要先赋值给一个变量,否则会报错。abc();varabc=function(){}这是错误的。例如,上面的是错误的。函数的参数参数是指从外部传入函数的变量,只作为变量使用,但变量可以是任何东西,包括函数。传入的参数作为局部变量使用,可以被覆盖。一个参数就是一个局部变量,通过外界传入的值,这个参数就是对应的值。参数按顺序填写。参数在JavaScript中不需要写参数的类型和默认值。如果需要默认值,需要在函数中根据条件判断加入默认值。有时候我们不需要定义参数,直接在调用函数的时候带入参数,也可以获取到。(不建议大家使用)为什么要从外部传入参数。一般来说,函数是独立处理的某段代码的集合。如果这段代码需要重复执行,就会设计一个函数,在不同的地方调用,达到代码共享的目的,减少代码量。但在某些时候,虽然是同一份代码,但我们需要它发挥更大的作用,能够解决不同的问题。这时候传入的参数就可以起到代码干预的作用,在同一个函数中解决很多不同的问题。这时候设计功能的独立性就很重要了。当然,任何事情的解决方案都不是绝对的,过度设计复杂的功能有时会降低代码效率。同时,从外部传入的参数可以保存全局变量的定义,甚至可以保证函数中某些变量的独立性。参数分为实际参数和形式参数。实参:实数值、字符串形参:接收实参的变量比如这里是通过一个函数中的参数来控制页面添加多少个livarm=5;createUl(m);functioncreateUl(n){如果(n<1||isNaN(n))n=1;变量ul="

    ";for(vari=0;ilist"+(i+1)+"";}ul+="
";document.write(ul);}函数的返回值return语句会终止函数的执行并返回函数的值。return是javascript中函数返回值的关键字。在函数中处理的结果可以使用return返回,这样在调用函数的地方就可以使用变量来接收返回结果。return关键字中的任何类型的变量数据或表达式都可以返回,甚至什么都不能返回abc(3,5);functionabc(a,b){returna+b;}注意return只能返回A值,如果需要返回多个数据,可以考虑数组或者对象,比如functionabc(){return{a:1,b:2};}return也可以作为阻止后续代码执行的语句,例如varbool=false;vari=0;functionabc(){if(bool)return;i++;}这个可以有效的控制语句在一定条件下的执行,但是必须和break区分开来,break用在conditions里面,跳出只用条件和循环,但是return可以跳出函数,而且只是用于函数。如果没有函数,则不能使用return。abc();functionabc(){for(vari=0;i<10;i++){if(i===3){//中断;返回;返回;}}我+=5;console.log(i);//i=8}比如上面的例子,如果使用break,i的值会打印为8,如果使用return,则不会打印,因为return直接跳出函数。函数的执行函数的执行有两种:1、普通函数的执行函数执行:函数名()执行完后,即可完成函数的代码内容。如果函数中有返回值,执行完就会返回这个值。函数abc(){返回3+4;}vars=abc();如果没有return,所有的代码都会被执行。2.函数的独立执行函数本身可以独立执行,独立执行的结果也可以赋值给一个变量。vars=0;(函数(){s=4+5})();左边是匿名函数自己执行,右边是匿名函数赋值。注意匿名函数是用括号括起来的,然后在括号的最后执行。注意除了匿名函数可以独立执行外,实名函数也可以独立执行,但是这种独立执行不能给函数加参数,匿名函数在这里只能执行一次,不能调用多次,这是很明显的好处,就是这个函数中的变量都是私有变量。我们将在后面详细解释删除功能。当该功能不被使用时,需要将其删除。函数也是一个对象。如果不删除,它将保留在内存中,如果不再使用该功能,可以使用delete彻底清除该功能。但只能删除匿名定义或通过构造函数创建的函数。函数删除有两种1.匿名函数删除function=null2.对象下的函数删除deleteobj.fun