javascript笔记:函数的定义与调用
2016-05-27 08:32
447 查看
1.1 函数定义
//单个参数(对象参数) function pritprops(o){ for(var p in o) console.log(p+":"+o[p]+"\n"); } //多个参数(计算两个笛卡尔坐标之间的距离) function distance(x1,y1,x2,y2){ var dx = x2 - x1; var dy = y2 - x2; return Math.sqrt(dx*dx + dy*dy); } //递归函数,调用自身的函数(计算乘阶) function factorial(x){ if(x <= 1) return 1; return x * factorial(x-1); } //把函数赋值给一个变量 var square = function(x){return x*x;} //函数表达式可以包含名称,递归时很好用 var f = function fact(x){ if(x <=1) return 1; return fact(x-1)*x; } //函数表达式也可以作为参数传递给其他函数 data.sort(function(a,b){return a-b;}); //函数定义后直接运行 (function(x){alert(x);}(10)); var tensquared = (function(x){alert(x);}) //嵌套函数 function hypotenuse(a,b){ function square(x){return x*x;} return Math.sqrt(square(a)-square(b)); }
1.2 函数调用
共有四种调用方式:作为函数
作为方法
作为构造函数
通过它们的call()和apply()方法间接调用
//作为函数调用 (代码全文通用) pritprops(10); var total = distance(0,0,1,3) + distance(2,3,4,4); var probabilly = factorial(5)/factorial(3);
//作为方法调用 var calulator = { operand1:1, operand2:1, add:function(){ //相当于声明了一个result this.result = this.operand1 + this.operand2; } }; calulator.add(); //2 calulator.result; //2 //更复杂的访问表达式 customer.surname.toUpperCase(); //调用customer.surname的方法 f().m(); //调用f()返回的方法m()
//构造函数调用 var o = new Object(); var o = new Object; 注:如果构造函数里有实参,则它与普通函数的调用时一样的。但如果没有它则是作为一个新对象初始化上下文。
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 最后一次说说闭包
- Ajax
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- Redux系列02:一个炒鸡简单的react+redux例子
- JavaScript 各种遍历方式详解
- call/apply/bind 的理解与实例分享