javascript知识点总结----Function定义

---恢复内容开始---

函数Function:

函数实际上是对象,每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法,函数名实际上是一个指向函数的指针,不会与某个函数绑定;

函数定义的三种方法:

1、函数声明

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

2.函数表达式,又叫函数字面量

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

3.函数构造法,参数必须加引号

var sum3=new Function(‘n1‘,‘n2‘,‘return n1+n2‘);
console.log(sum3(2,3));//5

三者区别:解析器会先读取函数声明,并使其在执行任何代码之前可以访问;而函数表达式则必须等到解析器执行到它所在的代码行才会真正被解释执行,并且函数表达式末尾有一个分号,就像声明其他变量一样,第三种方法一般不推荐,因为这种语法会导致解析两次代码(第一次解析常规ECMAScript代码,第二次是解析传入构造函数中的字符串),从而影响性能。

<script>
    alert(sum(2,3))
    function sum(sum1,sum2){
    return sum1 + sum2;
   }
</script>
result:5

<script>
   alert(sum(2,3))
   var sum = function(sum1,sum2){
    return sum1 + sum2;
  }
<script>
result:报错---sum is not a function

<script>
   var sum = function(sum1,sum2){
    return sum1 + sum2;
   }
   alert(sum(2,3))
</script>retult:5
            

备注:由于函数名仅仅是指向函数的指针,所以一个函数可能会有多个名字

---恢复内容结束---

函数Function:

函数实际上是对象,每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法,函数名实际上是一个指向函数的指针,不会与某个函数绑定;

函数定义的三种方法:

1、函数声明

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

2.函数表达式,又叫函数字面量

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

3.函数构造法,参数必须加引号

var sum3=new Function(‘n1‘,‘n2‘,‘return n1+n2‘);
console.log(sum3(2,3));//5

三者区别:解析器会先读取函数声明,并使其在执行任何代码之前可以访问;而函数表达式则必须等到解析器执行到它所在的代码行才会真正被解释执行,并且函数表达式末尾有一个分号,就像声明其他变量一样,第三种方法一般不推荐,因为这种语法会导致解析两次代码(第一次解析常规ECMAScript代码,第二次是解析传入构造函数中的字符串),从而影响性能。

<script>
    alert(sum(2,3))
    function sum(sum1,sum2){
    return sum1 + sum2;
   }
</script>
result:5

<script>
   alert(sum(2,3))
   var sum = function(sum1,sum2){
    return sum1 + sum2;
  }
<script>
result:报错---sum is not a function

<script>
   var sum = function(sum1,sum2){
    return sum1 + sum2;
   }
   alert(sum(2,3))
</script>retult:5
            

备注:由于函数名仅仅是指向函数的指针,所以一个函数可能会有多个名字

时间: 2024-12-24 05:58:53

javascript知识点总结----Function定义的相关文章

javaScript之function定义

背景知识 函数定义 在javaScript中,function的定义有3种: 1.匿名定义                function(){} 2.非匿名定义                function fn(){}                fn = new Function(); 触发函数执行 对于匿名函数:                        (function(){})();       //执行一个匿名函数                        var f

JavaScript函数的多种定义方法

缘起 javascript和其他编程语言相比比较随意,所以javascript代码中充满各种奇葩的写法,有时雾里看花,当然,能理解各型各色的写法也是对 javascript语言特性更进一步的深入理解,那么他有几种写法呢? ( function(){…} )() 或者 ( function (){…} () ) 首先要明白两个知识点 js中函数是引用类型: 函数一般执行方式:函数名+(): 下面的例子帮你理解引用类型 var a = function(x,y){ console.log(x + y

JavaScript笔记之Function

一.函数定义 (1)使用function declaration 格式:function functionName(parameters) { function body } 注:此种方式声明的函数作用域是全局的,即在声明之前可以调用 (2)使用function expression 格式:var name = function (parameters) { function body }; 注:与(1)不同,在声明之前不可以调用 (3)使用function constructor() 格式:v

javascript中的function

function / 对象 所有的变量和方法名的:以字母,$ _开头其他随便,尽量使用英文字母命名,见名知意注意点:不允许使用关键字定义变量和方法的名称====函数即方法,方法即函数====百度:javascript关键字格式:function 函数名称(变量的定义规则)(形参列表){ 函数体 return ""; 不是一定要return,你有需要的时候才用return ,你打算把函数里你觉得要返回的数据,}; 注意二:把function当做一个数据类型,"不要当做一个方法&

编写高质量 Javascript -- 知识点小记

 一: 团队合作避免JS冲突 脚本中的变量随时存在冲突的风险, 1.   解决办法---用匿名函数将脚本包起来,让变量的作用域控制在匿名函数之内 如: <script type="text/javascript"> (function(){ var a=123,b="12121"; })(); </script> ..... <script type="text/javascript"> (function

javascript 复合数据的定义和使用 ( 小例子 )

思路:主要是先要获取到三个 box 元素的 top 值 和 left 值,然后有复合数据进行存值,再进行数组值的位置移动来实现切换 box 位置效果: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <style> #warp{margin:50p

Javascript知识点记录(三)设计模式

Javascript设计模式记录,这个方面确实是没写过,工作中也没有用到js设计模式的地方. 单例模式 保证一个类仅有一个实例,并提供一个访问它的全局访问点.例如:线程池,全局缓存,登录浮窗. 首先我们需要把单例的逻辑代码单独提取,然后使用惰性单例的方式,也就是返回方法.只有在点击的时候,才会进行执行. javascript的单例,跟类不一样.无需创建多余的构造函数这些,直接创建全局变量即可. !(function () { //管理单例的逻辑代码,如果没有数据则创建,有数据则返回 var ge

JQuery Pagenation 知识点整理——(function($){...})应用(20150517)

首先:(function($){...})为Jquery提供的匿名函数: 代码实例(一) 1 <script type="text/javascript"> 2 (function(name){ 3 alert(name); 4 })("GaoHuanjie"); 5 </script> 上面代码中执行的JavaScript脚本和“(function($){...})(jQuery)”是一样的,也就是说“(function($){...})(

javascript中两种定义函数方式的差别以及函数的预编译效果

我们知道在javascript中定义函数的方式有以下两种: function mm(){ } 这种形式是声明一个函数,跟 var 声明一个变量机制一样,脚本在解释执行之前会做预编译处理. var mm = function(){ } 这种形式是对一个变量赋值,虽然也做预编译,但仅仅只是给 mm 事先变量分配一个内存空间,而没有做初始化. 代码1: alert(a);//打印函数a的内存 alert(b);//undefined alert(c);//JS报错:"c"未定义 functi