js_高级_函数进阶

1、函数的知识点

  a、函数声明:function 、函数表达式、new Function(这种方式几乎不用,不过通过这种方式我们认识到了函数也是对象)

    ---function 定义的有名函数的变量声明和赋值都提前但是函数表达式的只会提升变量声明(和普通变量声明提前是一样)

        

   c、函数传参:基本类型作为参数、复杂类型作为参数---改变行参对实参是否有影响的问题

   d、函数返回值:有返回值、无返回值时返回值默认是undefined、返回值时复杂类型时(比如返回值时函数、对象)

   b、函数调用:函数名 ()   、对象中方法的调用、作为构造函数的调用、作为事件的处理函数、匿名函数自调用、 函数作为参数给别人调用(如 setInterval)等

    每一种调用形式函数中都有个this  ,不同的调用方式,函数中this的指向是不同的。

      1、!!谁调用了这个(函数)方法,那方法内部的this就指向谁

      

      

      2、改变函数中的this

      call  bind  applly 这3个方法是属性函数(方法)对象的

      

        call的应用

        

        apply的应用

      

      

2、高阶函数---函数作为函数的参数或者返回值时

    a、函数作为参数

    

    模拟数组的排序方法

    

    

    b、函数作为返回值

    

    

    

原文地址:https://www.cnblogs.com/yangyutian/p/10940574.html

时间: 2024-11-13 04:13:42

js_高级_函数进阶的相关文章

python基础_函数进阶

函数进阶 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的作用 函数根据 有没有参数 以及 有没有返回值,可以 相互组合,一共有 4 种 组合形式 无参数,无返回值 无参数,有返回值 有参数,无返回值 有参数,有返回值 定义函数时,是否接收参数,或者是否返回结果,是根据 实际的功能需求 来决定的! 如果函数 内部处理的数据不确定,就可以将外界的数据以参数传递到函数内部 如果希望一个函数 执行完成后,向外界汇报执行结果,就可以增加函数的返回值

Python(56)_函数进阶

1  函数的命名空间 #-*-coding:utf-8-*- ''' 函数进阶 ''' ''' 全局变量a,函数里面可以调用''' a = 1 def fun(): print(a) fun() ''' 覆盖内置函数,调用时调用的是这个函数了,而不是python本身有的input() ''' def input(): print("in input function") input() ''' 覆盖内置函数,用时调用的是这个函数了,而不是python本身有的max(), ''' def

day05_雷神_函数进阶

#day05 1.迭代器 1.1可迭代对象 str,list,tuple,dict,set,range,文件句柄 等都是可迭代对象 第一种方法:在该对象中,含有__iter__方法的就是可迭代对象,遵循可迭代协议. print(dir(str)) dir() 打印出str对象的所有方法. print('__iter__' in dir(list)) 返回值: True 说明是可迭代对象 第二种方法: isinstance("123",Iterable) from collections

函数_函数进阶_闭包和函数的嵌套和作用域链

#闭包:嵌套的函数,内部函数调用外部函数的变量 # def outer():# a = 1# def inner():# print(a)# # print(inner.__closure__) #说明是一个闭包# return inner## inn = outer()## inn() #在一个函数的外部使用内部的函数 #使用闭包的好处就是随意的使用变量 import urllib #模块# from urllib.request import urlopen# ret = urlopen("

js_高级_正则表达式

1.编辑器里的正则匹配 2.认识正则表达式 正则表达式和语言无关,几乎所有的语言都有正则 前端常用正则表达式于:表单验证 创建正则表达式     常用案例  精确匹配,^   以什么开头. $   以什么结尾 1. 2. 3. ... 有的不需要自己写 可以去找 3.用正则表达式做表单验证 1.想在什么时候触发校验?  合理选取事件 2.开始开发 ...... 3.优化代码 把重复的代码抽出来,封装成函数,减少代码重复率 4.替换 原文地址:https://www.cnblogs.com/yan

JavaScript高级-----8.函数进阶(2)

3. 严格模式 3.1 概述 3.2 开启严格模式 1. 为脚本开启严格模式 (1) (2) <body> <!-- 为整个脚本(script标签)开启严格模式 --> <!-- (1) --> <script> 'use strict'; //单引号双引号都可以 // 下面的js 代码就会按照严格模式执行代码 </script> <!-- (2) --> <script> (function() { 'use stric

Oracle基本语法&amp;&amp;函数&amp;&amp;子查询&amp;&amp;分页查询&amp;&amp;排序&amp;&amp;集合操作&amp;&amp;高级分组函数

一.  数据库 手工---文件管理---数据库 DB:Database 数据库. DBMS:管理数据库的软件.(oracle) 主流关系数据库: 1.      Oracle 2.      DB2 3.      SQL Server 基本没人使 4.      MySQL  基本没人用,免费 Linux 开源,可以发现漏洞补上 Windows服务器会有补丁,数据易泄漏 eclipse 日食 数据表(Table): 表的行(Row):记录 表的列(Column):字段 二.  关系型数据库 一

[Java]_函数传参的疑惑与思考

问题来源于leetcode上的两道题 Path Sum I && II,分别写了两个dfs. 1 void dfs(TreeNode node , int sum , ArrayList<Integer> curPath) 2 void dfs(TreeNode node , int sum , boolean ifExist) 问题:在1号中我可以在方法中修改curPath,在结束函数调用时,变量修改仍然生效.   在2号问题中,我即使在函数中修改了ifExist,结束函数调

Oracle 高级排序函数 和 高级分组函数

高级排序函数: [ ROW_NUMBER()| RANK() | DENSE_RANK ] OVER (partition by xx order by xx) 1.row_number() 连续且递增的数字 1 2 3 4   row_number() over (partition by xx order by xx )    --学生表中按照所在专业分组,同专业内按成绩倒序排序,成绩相同则按学号正序排序,并给予组内等级select row_number() over(partition b