Function类型

ABAP 调用Function 处理 E 类型消息问题 有时在function中会用到调用标准程序中的某form,但form中的消息是直接以Message方式显示在前端。如MESSAGEE007(QA)WITHL_USER-NAME_TEXTQALS-PRUEFLOS. 比如写了一个function :ZMES_INSPLOT_DECISION 调用 QA11中的formauto_ud,再在程序中调用 function :ZMES_INSP... 阅读详情

Function类型知识点索引

  • 函数没有重载
  • 函数声明与函数表达式
  • 作为值的函数
  • 函数内部属性
    1、arguments
    2、arguments.callee
    3、apply()、call()
    4、this
  • 函数属性和方法
    1、length
    2、prototype

使用不带园括号的函数名是访问函数指针,而非调用函数
函数表达式


    var sum=function(num1,num2){
        return num1+num2;
    }

函数声明


    function sum(num1,num2){
        return num1+num2;
    }

一、没有重载
如果同时声明两个同名函数,结果只会执行后面一个函数,也就是后面的函数覆盖了前面的函数


    function addSomeNumber(num){
        return num+100;
    }
    function addSomeNumber(num){//结果只执行此函数
        return num+200;
    }

二、函数声明与函数表达式
解析器在想执行环境中加载数据时,对函数声明和函数表达式并非一视同仁。解析器会率先读取函数声明,并使其在执行任何代码之前可用。至于函数表达式,则必须等到解析器执行到它所在代码行才会真正被解释执行。
这里就引出了一个概念函数声明提升:对代码求值的时,JavaScript引擎在第一遍声明函数并将它们放到源代码树顶部。所以,即使声明函数的代码在调用它的代码之后,JavaScript引擎也能把函数声明提升到顶部


    //函数调用在函数声明前面,能正确执行
    alert(sun(10,10));
    function addSomeNumber(num){
        return num+100;
    }
    ```
    但如果向下面一样把**函数声明**改成**函数表达式**,执行就会出错误
    ```js
    alert(sun(10,10));
    var addSomeNumber=function(num){
        return num+100;
    }

三、做为值的函数
函数名本身就是一个变量,所以函数也可以做为值来使用。也就是说,不仅可以向传递参数一样把一个函数传递给另外一个函数,而且可以将一个函数做为另一个函数的结果返回


    //共用函数
    function callSomeFunction(someFunction,someArgument){
        return someFunction(someArgument);
    }
    //做为参数传递的函数
    function add10(num){
        return num+10;
    }
    //实例化1
    var result1=callSomeFunction(add10,10);
    alert(result1);//弹出20

    //实例化2
    function getGreeting(name){
        return 'Hellow'+name;
    }
    var result2=callSomeFunction(getGreeting,'Nicholas');
    alert(result1);//弹出'Hellow Nicholas'

可以从一个函数中返回另一个函数,这是一个非常有用的技术叫闭包。假设:有一个对象数组,我们需要根据摸个对象属性对数组进行排序(主要用到sort方法)


    var data = [{name: "Zachary", age: 28}, {name: "Nicholas", age: 29}];
    function createComparisonFunction(propertyName) {
        return function(object1, object2){
            var value1 = object1[propertyName];
            var value2 = object2[propertyName];
            if (value1 < value2){
                return -1;
            } else if (value1 > value2){
                return 1;
            } else {
                return 0;
            }
        };
    }

    data.sort(createComparisonFunction("name"));
    alert(data[0].name);  //Nicholas

    data.sort(createComparisonFunction("age"));
    alert(data[0].name);  //Zachary

四、函数内部属性
函数内部有两个特殊对象:arguments和this

  • arguments主要用来保存参数是一个伪数组
  • arguments还有一个名叫callee的属性,该属性有一个指针,指向拥有这个arguments对象的函数,最经典的列子用于阶乘

    function factorial(num){
        if(num<=1){
            return 1;
        }else{
            return num*arguments.callee(num-1);
        }
    }

五、函数属性和方法
每个函数都包含两个属性

  • length
  • prototype
    其中length表示函数希望接收的命名参数的个数

    function sayName(name){
        alert(name);
    }      

    function sum(num1, num2){
        return num1 + num2;
    }

    function sayHi(){
        alert("hi");
    }

    alert(sayName.length);  //1
    alert(sum.length);      //2
    alert(sayHi.length);    //0

至于prototype将在后面向对象中详细介绍。每个函数还包括非继承而来的方法:apply(this,argument),call(this,param1,param2)
两个方法的效果都一样,只是在传参的方式上不一样apply(this,argument),第二个参数传入一个数组,用于不知参数个数的情况下。call(this,param1,param2),则是一次将参数传入,用于已知参数个数的情况下。
事实上传递参数并非这两个方法的真正用武之地,他们真正强大的地方是能够扩充函数赖以运行的作用域


    window.color = "red";
    var o = { color: "blue" };
    function sayColor(){
        alert(this.color);
    }
    sayColor();            //red
    sayColor.call(this);   //red
    sayColor.call(window); //red
    sayColor.call(o);      //blue

ECMAscript5还定义了一个方法`bind()这个方法还创建了一个函数的实例,其this会被绑定到传给bind()函数的值


    window.color = "red";
    var o = { color: "blue" };

    function sayColor(){
        alert(this.color);
    }
    var objectSayColor = sayColor.bind(o);
    objectSayColor();   //blue
JavaScript中Function类型有哪些 在JavaScript中,函数属于一种特殊的对象类型,称为Function类型。JavaScript中Function类型有多种形式,包括声明式函数、函数表达式、构造函数和箭头函数。您可以根据具体的需求的需求选择适合的函数类型,并根据函数的作用和复杂度来确定使用哪种方式定义函数。函数表达式是另一种常见的函数定义方式。这种方式创建的函数对象可以具有自己的属性和方法。由于箭头函数只有一个参数和一个表达式,因此可以省略参数括号和函数体的花括号。语法创建了一个新的函数对象,并将函数体作为字符串传递给构造函数。 阅读详情

相关推荐

图形引擎实战:镭射效果制作分享

该方案的优势1.遵循物理的2.可以使用少量的参数去调控镭射的效果。计算相对简单,缺点仍是颜色不能够自定义,还有一种常见的方案是采样一张镭射贴图来模拟,好处是颜色可以自定义同时性能上还很高效没有复杂的公式计算。我查阅了网上普遍的方案,常见的做法是制作一个Ramp图生成工具,然后将生成好的ramp图赋给材质。这两个方案的好处是美术同学可以手动的去控制镭射的颜色。最后就是Shader中对Ramp图的采样的部分,Ramp图的UV坐标是使用fresnel作为Ramp的U轴坐标,0.5作为V轴坐标。

qq_41166022的博客 1353

Function类型(函数)

Function类型 1、函数实际上是对象,函数名是指向函数对象的指针,因此函数名与其他指向该函数的变量没有什么不同。 比如: function func (){ console.log("funtion"); } var func1 = func; func1(); console.log(func === func1); 结果是打印“function”和“true”。即func和func1都

zyz00000000的博客 2833

Ubuntu下安装Hive3.1.2教程(附MySQL安装方法及安装包)

文章目录前言一、安装Hive1. 下载压缩包并解压2. 安装Hive3. 配置环境变量4. 修改配置文件二、MySQL安装与配置1. 安装MySQL2. 安装MySQL jdbc包3. 为Hive创建MySQL账号三、验证Hive安装及错误处理1. 启动Hadoop2. 启动hive3. 运行Hive实例总结 前言 Hive 的安装需要建立在 Hadoop 的之上(类似于Hbase),关于 Hadoop 的单机安装以及伪分布式安装可以参考作者的另两篇博客: Ubuntu下单机安装Hadoop详细教程(附

程序必须为人类阅读而编写,并且仅仅碰巧可以让机器执行 1万+

[11]javascript Function 类型

在 ECMAScript 中,Function(函数)类型实际上是对象。每个函数都是 Function 类型的实例,而且都与其他引用类型一样具有属性和方法。由于函数是对象,因此函数名实际上也是一个指向函数对象的指针。 一. 函数的声明方式 1.普通的函数声明 function box(num1, num2) { return num1+ num2; } 2...

weixin_33957648的博客 187

Hand-Eye 标定误差分析:从理论到 C++ 实现

本文深入探讨了机器人手眼标定中的核心环节——误差分析。文章从AX=XB方程的理论残差出发,详细解析了旋转与平移误差的数学定义与物理意义,并提供了一个工业级的C++实现代码,用于计算重投影误差。通过误差分析,工程师可以量化标定精度,诊断问题根源,从而确保视觉引导机器人系统在实际应用中的可靠性与精确性。

c7d8e的博客 695

Python3.8下MvCameraControl.dll加载失败?3种方法彻底解决FileNotFoundError

本文针对Python3.8及以上版本在Windows平台调用MvCameraControl.dll时出现的FileNotFoundError问题,深入剖析了其根源在于Python 3.8引入的DLL加载安全机制变更。文章提供了三种核心解决方案:显式指定DLL完整路径、使用os.add_dll_directory()添加可信目录,以及利用ctypes的winmode参数进行精细控制,并给出了工程化封装建议,帮助开发者彻底解决此兼容性问题。

weixin_29093017的博客 191

JavaScript学习总结(十五)——Function类

  在JavaScript中,函数其实是对象,每个函数都是Function类的实例,既然函数对象,那么就具有自己的属性和方法,因此,函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定。 一、函数的声明 方式一:常规方式 1 function sum1(num1,num2){ 2 return num1+num2 3 } 方式二:函数表达式 1 va...

weixin_34268169的博客 189

在win10系统上安装opnet14.5注意事项和步聚

opnet 14.5安装避坑!

miracle_eicont的专栏 1037

javaScript的function类型

function类型 每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法 函数是对象,函数名是指针 function的创建 声明式创建 function add(num1, num2) { return num1 + num2; } 表达式创建 var sub = function (num1, num2) { return num1 - num2; }; var sub2 = sub; console.log(sub2(1, 3));//-2 f

weixin_44915419的博客 268

【eNSP 华为模拟器】单臂路由实战:从原理到配置全解析

本文详细解析了单臂路由技术,通过华为eNSP模拟器从原理到配置进行实战教学。文章阐述了单臂路由如何利用路由器单物理接口创建多个子接口,实现不同VLAN间通信,并提供了完整的操作步骤、配置命令及排错方法,帮助网络工程师掌握这一经典网络技术。

698

探索LLM世界:新手小白的学习路线图

通过系统的学习和实践,新手小白也能逐步掌握LLM的核心技术。掌握LLM不仅能提升个人技术水平,还能为职业发展带来广阔的前景。未来,随着技术的不断进步,LLM将在更多领域发挥重要作用,成为推动科技进步的重要力量。学习LLM是一条充满挑战但也充满机遇的道路。只要你坚持不懈、不断学习和实践,就一定能够在LLM领域取得突破。希望本文提供的学习路线图能为你指明方向,助你早日掌握LLM,开启AI学习的新篇章!

m0_62110645的博客 2360

[Javascript]:JS数据类型、类型判断、函数function与Function的使用

因为之前学过Java,在学习JS时,对JS的数据类型、function和Function的使用概念容易搞混淆,理解不怎么深刻。遂将这些知识点和概念梳理一遍,以便自己和他人理解。如有错误,敬请谅解。       知识点会涉及到:JS数据类型、JS的类型判断方式、函数创建方式、function与Function的区别、匿名函数的使用、函数特点以及函数重载问题。 Javascript数据类型

我只是个程序员。 1万+

深入解析LVDS电平标准在LCD屏接口设计中的关键作用

本文深入解析了LVDS电平标准在LCD屏接口设计中的核心作用。文章不仅阐释了LVDS低电压差分信号的工作原理、关键电气参数及抗噪优势,还详细对比了VESA与JEIDA两种主流数据格式,并提供了从PCB布局布线到信号调试的实战避坑指南,是确保高速、稳定显示的关键技术参考。

weixin_28419039的博客 334

Function 类型

function factorial(n){ if(n<1){ return 1; }else { return n*factorial(n-1); } } var result = factorial(4); console.log(result); var trueFactorial = factorial; trueFactori...

boysky0015的博客 207

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

不要在TypeScript中使用Function类型

不应该使用Function作为类型。它表示任何函数。通常,您希望更具体-例如指定参数的数量或函数返回的内容。如果您确实希望表示一个可以接受任意数量的参数并返回任何类型的函数,请使用。

专注于认知和效率提升方面的分享 669

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

JavaScript面向对象之Function类型

JavaScript面向对象之Function类型 下面是我对Function类型的总结,希望对您有帮助。 “函数式编程"是一种"编程范式”(programming paradigm),也就是如何编写程序的方法论。 1、Function与函数 函数是这样的一段JavaScript代码,它只定义一次,但可能被执行或调用多次。 Function类型是JavaScript提供的引用类型之一,JS可以通过Function类型创建Function对象。 在JavaScript中,每一个函数都可以以对象的形式存在(无论

weixin_46370867的博客 233

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

JavaScript笔记——引用类型之Object类型和Function类型

JavaScript笔记——引用类型之Object类型和Function类型 《JavaScript高级程序设计》中介绍的几种JavaScript的引用类型,本文只记了Object跟Function类型Object类型创建对象

azureternite的专栏 493

在python中function啥类型_Python中function和method

这两个概念已经有很多人解释过了,从本文的『参考』中就可以看出来。之所以还要写一篇这个主题,主要是为了用自己的语言表述一下,并且尽可能的讲的清楚一点。泛泛地说,function是一般意义上的函数,即对一段代码的封装,并由一个地址(函数名)来调用。method通常是面向对象的概念,即method是属于一个类或类的对象的。method是与类或类的对象相关的函数。下面讲一下我对这两个概念的更具体的理解。如...

weixin_39570505的博客 4425

【WEB前端-基础】JS 引用类型-Function类型

【WEB前端-基础】JS 引用类型-Function类型

主、Lantu的博客 400

js引用类型--Function类型

版权声明:本文为博主原创文章,若文章中有错误请联系博主改正,请不要恶意留言(不喜欢请绕道)。欢迎大家转载,转载时请注明原文地址:https://blog.youkuaiyun.com/qq_37674616/article/details/82177270 目录 Function类型      1.函数的创建 函数的声明 函数表达式  2.函数属性和方法 继承属性 非继承的方法  3.函...

前端小愤青 858

C++ 标准库中 function 类型

C++ 标准库中 function 类型

编程猿来如此 1934

5.5 function类型

function类型 函数实际上是对象,每个函数都是function;类型的示例。都与其它引用类型一样具有属性和方法。由于函数是对象,因此函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定。函数通常是使用函数声明语法定义的,如下所示: function sum(num1,num2) { return num1 + num2; } //与下面使用函数表达式定义函数的方式几乎相差无几 var ...

weixin_42575028的博客 265
上一篇: 移动端横向等分问题
下一篇: test
chentian888
博客等级 码龄11年 16粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值