javascript Function

原创 2016年05月30日 20:42:54

Function:

1:函数名实际上是一个指向函数对象的指针,不会与某个函数绑定。

2:只写函数名并不会调用函数,只有函数名()才是对函数的调用。

3:函数没有重载  感觉是因为(1)函数名只是一个指针,当对一个函数名进行第二次赋值时,已经对之前的值进行了覆盖(2)对于覆盖的条件也完全不符合,没有返回值,参数个数本来就可以不确定

4:函数的内部属性 在函数内部有两个特殊对象 arguments和this。arguments的主要用途是保存函数参数,arguments对象还有一个名叫callee的属性,该属性是一个指针,指向拥有这个arguments对象的函数。this引用的是函数据以执行的环境对象。

例子:function factorial(num){

if(num <= 1){

return 1;

}else{

return num*arguments.callee(num-1);

}

}

5:每个函数都包含两个属性:length和prototype。其中length属性表示函数希望接收的命名参数的个数。

6:每个函数都有两个非继承而来的方法:apply()和call()。这两个方法的用途都是在特定的作用域中调用函数,实际上等于设置函数体内this对象的值。首先apply()方法接收两个参数:一个是在运行函数的作用域,另一个是参数数组。其中,第二个参数可以是Array的实例,也可以是arguments对象。对于call()方法而言,第一个参数是this值没有变化,变化的是其余参数都直接传给函数。

例子:

function sum(num1, num2){

return num1+num2;

}

function callSum1(num1,  num2){

return sum.apply(this, arguments);

}

function callSum2(num1, num2){

return sum.apply(this, [num1, num2]);

}

function callSum(num1, num2){

return sum.call(this, num1, num2);

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

Javascript 两种 function 定义的本质区别

两种常见的function定义:1⃣️var func = function(){ ... }2⃣️func = function(){ ... }两种定义方式在表现形式上的不同:第一种var方式定义...
  • tmacjackson
  • tmacjackson
  • 2016年08月14日 21:39
  • 543

JS函数function(event){}在括号内写个event的意思

function(event){} event可有可无,它是一个内置参数,加上它是为了规范 function(a){alert(a)} 当不为event时,a就是你要传递的参数 function(a,...
  • w405722907
  • w405722907
  • 2017年07月30日 15:25
  • 1115

JavaScript中数组高级编程实践

今天我们来全面介绍 JavaScript 中 数组的高级使用,与EcmaScript5 Array API 实战。 利用这些新的API 和 技巧,将提高你的开发效率 和 代码的水平。 理解这些原生...
  • zoutongyuan
  • zoutongyuan
  • 2014年09月13日 13:36
  • 2611

JavaScript基础——引用类型(三)Function类型

在ECMAScript中函数实际上是对象。每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法。由于函数是对象,因此函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定...
  • Goskalrie
  • Goskalrie
  • 2016年05月30日 17:27
  • 3209

JavaScript ---(function...)():2个小括号的理解

JavaScript 中,考查如下代码: Js代码   (function()   {       alert("cftea");   })();     ...
  • sheridon178
  • sheridon178
  • 2014年01月06日 23:11
  • 808

深入理解Javascript的var变量和闭包

今天无意间看到阮一峰校友写的一个关于ES6新特性let。let的出现,就是为了弥补var的不足。由此,写下这篇博客重新回顾一下Javascript老生常谈的闭包和它的一个作用域的诟病。 闭包的概念...
  • zhouyongwinner
  • zhouyongwinner
  • 2015年02月01日 23:13
  • 2506

JavaScript语言精粹之函数篇(三)

1.回调 函数让不连续的事件处理变得容易起来 下面我们来看一个同步的传统的例子var request = prepare_request(); // 请求预处理 var response =...
  • super_yang_android
  • super_yang_android
  • 2016年04月10日 15:03
  • 517

Javascript中的原型链、prototype、__proto__的关系

javascrip中内置的对象共12个,其中10个属于函数类型——String,Number,Boolean,Array,Function,Date,RegExp,Error,Object,Event...
  • u010089686
  • u010089686
  • 2016年10月06日 16:07
  • 1079

理清javascript中prototype、__proto__、Object、Function的关系,更好地理解原型继承

结论1:Object.prototype只是一个普通对象,它是js原型链的最顶端。 结论2:在js中如果A对象是由B函数构造的,那么A.__proto__ === B.prototype。 结论3:内...
  • aitangyong
  • aitangyong
  • 2015年04月03日 23:03
  • 3539

2014年影响Web前端发展的五类API

本文作者Alex MacCaw是一名JavaScript程序员,O’Reilly作者,目前就职于Stripe。他认为,在接下来的一年,Web领域将会有越来越多的储技术蜂拥而至。甚至可能会有一些技术,从...
  • androidwangboy
  • androidwangboy
  • 2014年10月20日 21:02
  • 314
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:javascript Function
举报原因:
原因补充:

(最多只允许输入30个字)