1.定义普通函数(常用) //1.普通函数 function defineFun1(p1, p2) { return p1 + p2; } 2.定义匿名函数(最常用) //2.匿名函数 var defineFun2 = function(p1, p2) { return p1 + p2; } 3.直接用Function的构造器来创建函数(少用) //3.直接用Function的构造器来创建函数 var defineFun3 = new Function("a", "b&quo…
本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU&list=PL6n9fhu94yhUA99nOsJkKXBqokT3MBK0b 在Javascript中有很多不同的方法来定义函数. >用函数声明来定义函数 例子1:声明一个函数,然后再呼出 function addNumbers(firstNumber, secondNumber) { var…
主要内容 分析函数的四种调用形式 弄清楚函数中this的意义 明确构造函对象的过程 学会使用上下文调用函数 了解函数的调用过程有助于深入学习与分析JavaScript代码. 本文是JavaScript高级这 个系列中的第三篇文章,主要介绍JavaScript中函数的四种使用形式. 在JavaScript中,函数是一等公民,函数在JavaScript中是一个数据类型,而非像C#或 其他描述性语言那样仅仅作为一个模块来使用. 函数有四种调用模式,分别是:函数调用形式.方法调用形式.构造器形式.以及a…
函数内部属性 函数内部有两个特殊的属性arguments和this.其中,arguments是类数组对象,包含传入函数中的所有值,这个arguments还有一个属性:callee,这个属性是一个指针,指向拥有arguments的函数.而this据以引用的是函数执行环境对象. function fib(n){ if(n = 1){ return 1; }else{ return n * arguments.callee(n - 1); } } //这里利用函数内arguments的callees属…
注:原文 http://www.2cto.com/kf/201406/307790.html 这里作为学习,写在这里 在面向对象的方式编写js脚本时,定义实例的方法主要有两种:this.XXX = function()P{ 和 function.prototype.XXX= function(){} function ListCommon2(afirst) { var first=afirst; this.do1=function () { alert("first do"+first…
执行环境和作用域链   每个函数都有自己的执行环境.当执行流进入一个函数时,函数 的环境就会被推入一个环境栈中.而在函数执行之后,栈将其环境弹出,把控制权返回给之前的执行环境.   当代码在一个环境中执行时,会创建变量对象的一个作用域链.作用域链的用途,是保证对执行环境有权访问的所有变量和函数的有序访问.作用域链的前端,始终都是 当前执行的代码所在环境的变量对象.如果这个环境是函数,则将其活动对象作为变量对象.活动对象在最开始时只包含一个变量,即arguments对象(这个对象在全局环境中是不存…
函数表达式 函数定义的两种方式: 函数声明(函数声明提升,非标准name属性可访问给函数指定的名字) 函数声明提升:执行代码前先读取函数声明 function functionName(arg0, arg1, arg2){ //函数体 } 函数表达式(name属性为空字符串,匿名函数) var functionName = function(arg0, arg1, arg2){ //函数体 }; //注意这个分号 与if···else···语句结合使用只能用函数表达式(理解函数声明提升的关键--…
在Javascript中,函数是Functioin类型的实例,所以函数也具备属性和方法,因为函数是对象,所以函数名自然就是指向对象的指针啦. 函数可以通过声明语法和表达式来定义: 声明:function sum(num1, num2){ return num1 + num2; } 函数表达式: var sum = function (num1, num2){ return num1 + num2; }; 注意:表达式是语句所以记得结束的冒号”:“. 区别: 解析器对于函数声明和表达式处理是不一样…
函数Function 通过函数封装多条语句,在任何地方执行.javascript函数不会重载,相同名字函数,名字属于后定义的函数通过function关键词声明. function functionName(arguments){ statement; } 函数会在执行return语句后停止并退出.return语句之后的任何代码不会被执行. function say(){ return “hay”; alert("hay"); //永远不执行 } return后不带返回值的会返回unde…
代码信息来自于http://ejohn.org/apps/learn/. 向函数的原型中添加方法 function Ninja(){} Ninja.prototype.swingSword = function(){ return true; }; var ninjaB = new Ninja(); console.log( ninjaB.swingSword(), "Method exists and is callable." ); 通过实例化对象可以访问,因为构造函数实例化的对象…