文档章节

JaveScript函数(JS知识点归纳六)

丶不将就
 丶不将就
发布于 2018/12/20 18:15
字数 1455
阅读 3
收藏 0
1.函数的基本使用	
   a)作用:代码的复用,灵活性比较强 b)声明方式:function 名 (形参){函数体} c)调用: 名(实参); d)封装函数--书写一个函数的结构,而且放入一些功能,在需要使用的时候直接调用函数名字 e)参数:--形参+实参 1)形参:书写在函数体的小括号,是函数内的变量,不需要声明,默认值是undefined 2)实参:书写在函数调用的小括号,用于给形参传值 3)多个参数使用逗号分隔 f)当一个函数的整体功能是一定的,但是内部的值不确定的时候,可以使用参数 g)返回值的设置 1)在函数体外使用函数的计算结果 设置返回值 2)语法: return 值; 3)接受方式:通过函数的调用,调用本身就是返回值 4)return的其他作用: 结束函数的执行--跳出函数 5)函数没有设置返回值,默认是undefined

​ 2.作用域

a)全局变量:声明在全局作用域的变量,在任意位置都可以进行访问
    b)局部变量:声明在某个局部的作用域中,只能在声明这个变量的局部作用域中访问


​ 3.预解析

注意:与解析在每个作用域代码执行前都会发生
    1)查找当前作用域中的var变量声明,将声明提升到当前作用域顶端,赋值保留在原地;
    2)查找当前作用域中的function函数声明语句,将函数整体提升到当前作用域顶端,调用保留
  注意:
    1)全局作用域的预解析在页面加载的时候执行
    2)局部作用域的预解析在调用时进行执行
  不规则的声明方式:
    1)单个变量--不加var
    2)多个变量--连续赋值  var n1=n2=n3=1;


​ 4.变量的访问规则--作用链域的访问规则

1)在当前作用域查找,找到--使用
    2)没有找到--查找上级作用域,找到--使用
    3)依次往复
    4)到全局作用域后,使用方式不同,结果不同
        a)取值--直接报错
        b)赋值--声明一个全局变量


​ 5.参数的值传递--实参给形参传值的方式--采用值传递(复制)方式

a)实参为复杂数据类型时,函数的功能那个是内部直接处理实参数据,不需要设置返回值
    b)接收的返回值数组和原数组实际上还是同一个数据的时候,没有必要接收
    	注意: 封装函数用于计算任意数组中的和---设置返回值
    		 封装函数对数组进行排序,不需要设置返回值


​ 6.函数的多种声明方式

1)函数声明语句  function 名( ){ }
    2)函数表达式   var fun= function (){}
        函数表达式是在预解析阶段参与的是变量提升的规则,所以无法再声明之前进行调用操作


​ 7.匿名函数的使用--没有函数名的函数 --无法单独使用 function( ){ }

用法:
        a)将匿名函数保存在变量中做为函数表达式使用 var fun = function( ){  }
        b)做为自调用函数的形式使用  (function(){ 函数体--只能在书写的位置执行一次})(调用)
        作用:
            1)用于包裹作用域降低变量名的难度
            2)提高变量访问时的访问效率
            3)JS高级--给每个功能套用一个自调用函数
        c)将匿名函数做为回调函数使用
        d)将匿名函数做为函数的返回值使用--函数做为另一个函数的返回值使用(命名函数+匿名方式)


​ 8.将一个函数做为另一个函数的参数使用

a)当一个函数的整体功能一定,但是内部的某些值不确定时,可以传入参数
        b)一个固定功能的函数中,不仅仅是某个值不确定,而是某段代码功能不确定将函数做为参数传递


​ 9.回调函数

a)将一个函数作为另一个函数的参数使用时,称之为回调函数
         b)使用场景:当一个函数整体功能一定时,内部的某段功能呢不确定时,可以使用回调函数
           1)将命名函数做为函数传递
           2)要传递的实参值是一个函数,使用匿名方式传参


​ 10.函数的数据类型-typeof==function

​ 11.arguments的使用

a)只能在函数内部使用
    b)是一个数组形式的数据,伪数组结构(类数组结构)
    c)内部保存了本次调用传入的所有实参
    练习:对传入的所有实参进行求和
function fun (a,b){
        var sum = 0 ; 
        for (var i = 0 ; i <arguments.length;i++){
            sum += arguments[i];
        }
        console.log(sum);
     }
     fun(1,2,3,4,5,6,7,8,8,9);

  



​ 12.函数重载的模拟--使用传入的参数个数不同

function fun(){
        //通过判断argument.length属性的值去进行函数重载的模拟
        var len=arguments.length;
        if(len===2){
            .....
            }
        }
        fun (1,2,3);

  



​ 13.构造函数

1)使用--通过new调用的函数,就是构造函数(作用-创建对象)
    2)书写一个构造函数
        a)命名要求---首字母大写
        b)调用前一定要加new
        c)只要通过this给创建的对象设置属性和方法
    3)在构造函数内部使用return的效果说明
        a)返回值为基本数据类型:会被忽略
        b)返回值为复杂数据类型:这个复杂数据类型值会替换掉原有的对象



PS: 2018年,努力!!!

本文转载自:https://www.cnblogs.com/AmorR/p/8470521.html

上一篇: ECS node 环境搭建
下一篇: INSTALL_02 PHP安装
丶不将就
粉丝 1
博文 61
码字总数 0
作品 0
杭州
程序员
私信 提问
Javascript中你必须理解的执行上下文和调用栈

执行上下文在 JavaScript 是非常重要的基础知识,想要理解 JavaScript 的执行过程, 是你必须要掌握的知识。否则只能是知其然不知其所以然。 理解执行上下文有什么好处呢? 它可以帮助你更好...

六小登登
08/06
0
0
写了10年Javascript未必全了解的标识符顺序

一,局部变量先使用后声明,不影响外部同名变量 Js代码 var x = 1; // --> 外部变量x function fn(){ alert(x); // --> undefined 局部变量x先使用 var x = 2; // 后声明且赋值 } fn(); aler...

SeanCai
2010/11/16
376
2
前端开发JavaScript干货知识点汇总

很多初学的朋友经常问我,前端JavaScript都需要学习哪些东西呀?哪些是JavaScript的重点知识啊? 其实做前端开发工程师,所有的知识点都是我们学习必备的东西,只有扎实的技术基础才是高薪的...

WEB开发阿靖
06/26
0
0
前端进阶(第一期)-调用堆栈笔记

1-1 理解 Javascript 执行上下文和执行栈 原文地址 知识点有: JavaScript程序的内部执行机制; 理解执行上下文和执行栈; 理解以上知识点有助于理解JavaScript的提升机制、作用域和闭包 执行...

xszi
2018/12/04
0
0
2019 面试准备 - JS 原型与原型链

Create by jsliang on 2019-2-21 08:42:02 Recently revised in 2019-2-23 09:44:08 Hello 小伙伴们,如果觉得本文还不错,记得给个 star , 你们的 star 是我学习的动力!GitHub 地址 本文涉...

jsliang
02/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

使用CSS自定义属性构建骨架屏

写在前面 几天前看到薄荷前端团队分享的《前端骨架屏方案小结》,突然回想起一年前看到的max bock写的《Building Skeleton Screens with CSS Custom Properties》,翻译整理写下出此文,分享...

前端老手
昨天
9
0
Docker常用命令小记

除了基本的<font color="blue">docker pull</font>、<font color="blue">docker image</font>、<font color="blue">docker ps</font>,还有一些命令及参数也很重要,在此记录下来避免遗忘。 ......

程序员欣宸
昨天
9
0
MAT使用-jvm内存溢出问题分析定位

1.MAT简介: MAT 全称 Eclipse Memory Analysis Tools 是一个分析 Java堆数据的专业工具,可以计算出内存中对象的实例数量、占用空间大小、引用关系等,看看是谁阻止了垃圾收集器的回收工作,...

xiaomin0322
昨天
5
0
内网和外网之间的通信(端口映射原理)

首先解释一下“内网”与“外网”的概念: 内网:即所说的局域网,比如学校的局域网,局域网内每台计算机的IP地址在本局域网内具有互异性,是不可重复的。但两个局域网内的内网IP可以有相同的...

Jack088
昨天
6
0
3.深入jvm内核-原理、诊断与优化-4. GC算法和种类

一、GC算法和种类 GC的概念 GC算法 引用计数法 标记清除 标记压缩 复制算法 可触及性 Stop-The-World GC的对象是堆空间和永久区 引用计数法 老牌垃圾回收算法 通过引用计算来回收垃圾 使用者...

hexiaoming123
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部