为什么80%的码农都做不了架构师?>>>   

函数的名称


function fun() {alert(123);
}
fun();       //123f = function() {alert(123);
}
f();         //123msg = alert;
msg(123);    //123

函数的返回值


function fun() {var num = 1;return num; //函数可以没有 return; 如果有 之后的代码不会被执行num++;return num;
}var r = fun();
alert(r); //1

函数的既定参数和实际参数


/* 预定参数的个数 */
function fun(a, b, c, d) {alert(fun.length);              /* 预定参数个数 */alert(arguments.callee.length); /* 也可以这样, arguments.callee 标识当前函数 */
}
fun(11, 22); //4 / 4/* 实际参数的个数、遍历参数 */
function fun(a, b, c, d) {alert(arguments.length); //实际参数个数for (var i=0; i < arguments.length; i++) {alert(arguments[i]);}
}
fun(11, 22, 33); //3 / 11 / 22 / 33/* 不确定参数求和 */
function fun() {var num = 0;for (var i=0; i < arguments.length; i++) {num += arguments[i];}return num;
}
alert(fun(11, 22, 33)); //66

this 表示调用函数的对象


<div name='MyDiv' onclick="alert(this.name);">aaaaaa</div> //点击会显示: MyDiv

caller 表示调用该函数的函数


function fun1() {return arguments.callee.caller.arguments[0]; //或写作: fun1.caller.arguments[0];
}function fun2() {alert(fun1());
}fun2(11, 22); //11

call、apply


function sum(a, b, c) {alert(a+b+c);
}sum(1, 2, 3);               //6
sum.call(null, 1, 2, 3);    //6
sum.apply(null, [1, 2, 3]); //6//call 与 apply 都是调用函数的方式, 这里 null 以外的是函数的参数; apply 需要把参数写在数组里; 其目的就是重置第一个参数.//call 与 apply 的第一个参数表示调用该函数的对象, null 表示无调用对象; 譬如:
function msg(s) {alert(s + ' ' + this.toString());
}var str = 'ABC';
var num = 123;msg.call(str, 'Hi'); //Hi ABC
msg.call(num, 'Hi'); //Hi 123

使用 Function 类创建函数


var fun = new Function('alert(123)');
fun(); //123var fun = new Function('a,b', 'return a+b');
alert(fun(11, 22)); //33

一个关于闭包的小例子


function fun(x) {return function(y) {return x+y;}
}var a,b,c;
a = fun(1);
b = fun(2);
c = fun(3);alert(a(1)); //2
alert(b(2)); //4
alert(c(3)); //6

eval : 这是一个全局函数, 它执行字符串中的 JS 代码并返回结果


var str = '((1 + 2) * 3 - 1) / 4';
alert(eval(str)); //2

转载于:https://my.oschina.net/hermer/blog/320769

理顺 JavaScript (17) - 函数相关推荐

  1. 为什么使用JavaScript eval函数是个坏主意?

    eval函数是一种动态生成代码的强大而简便的方法,那么有哪些警告? #1楼 我知道这个讨论很古老,但是我真的很喜欢Google的这种方法,并希望与他人分享这种感觉:) 另一件事是,您越了解越多,您就会 ...

  2. JavaScript 常用函数总结

    javascript函数:  ·常规函数  ·数组函数  ·日期函数  ·数学函数  ·字符串函数 .cookie函数 1.常规函数 javascript常规函数包括以下9个函数:  (1)alert ...

  3. JavaScript 常用函数

    javascript函数一共可分为五类:  ·常规函数  ·数组函数  ·日期函数  ·数学函数  ·字符串函数  1.常规函数  javascript常规函数包括以下9个函数:  (1)alert函 ...

  4. JavaScript eval() 函数,计算某个字符串,并执行其中的的 JavaScript 代码。

    JavaScript eval() 函数,计算某个字符串,并执行其中的的 JavaScript 代码. 适合用于计算器的计算,等. 例子: eval("x=10;y=20;document. ...

  5. JavaScript parseInt() 函数

    原文:JavaScript parseInt() 函数 parseInt(string, radix) string:必需.要被解析的字符串 radix:可选.表示要解析的数字的基数.该值介于 2 ~ ...

  6. javascript 常用函数大全

    javascript函数一共可分为五类: •常规函数 •数组函数 •日期函数 •数学函数 •字符串函数 1.常规函数 javascript常规函数包括以下9个函数: (1)alert函数:显示一个警告 ...

  7. javascript 回调函数

    javascript 回调函数 回调函数 作为参数传递的函数 示例代码 let x = function () {console.log("执行回调函数") }let y = fu ...

  8. [译] ES6+ 中的 JavaScript 工厂函数(第八部分)

    本文讲的是[译] ES6+ 中的 JavaScript 工厂函数(第八部分), 原文地址:JavaScript Factory Functions with ES6+ 原文作者:Eric Elliot ...

  9. 【译】JavaScript 工厂函数 vs 构造函数

    译者:前端小智 原文:medium.com/@chamikakas- 当谈到JavaScript语言与其他编程语言相比时,你可能会听到一些令人困惑东西,其中之一是工厂函数和构造函数. 想优质文章请猛戳 ...

最新文章

  1. windows8系统设置×××虚拟连接教程
  2. 分布式系统中的限流与熔断
  3. Fusion组件库是如何支持多语言能力的
  4. SpringCloud实现一个模块调用另一个模块的服务
  5. Java中获取文件大小的正确方法
  6. Java中的锁---队列同步器
  7. paip.信用卡账单处理系统功能vO22
  8. 可变数据(VDP)软件 数码印刷和传统印刷的区别
  9. python 字符串分割_python拆分字符串到列表
  10. J-Link RTT Viewer 的各种不爽以及解决方案
  11. ajhua门禁_大华门禁主机密码 ajhua门禁
  12. MDM移动设备管理概述
  13. 校园网如何更改ip地址
  14. 笔记本重装系统后office没了
  15. 如何在不重装系统情况下换个硬盘
  16. 年轻人的第一次破产,从二次元开始
  17. ubuntu22.04 在笔记本上切换核显驱动出现的字体模糊或屏幕模糊现象的解决方法
  18. webpack--黑洞级入门
  19. python cv 图片转视频
  20. Ansys-静力学分析-薄壁圆筒学习心得

热门文章

  1. 小说里的lt什么意思_一般加杠杆是什么意思股市里?答案很简单
  2. 除了工作怎么交朋友_《隐秘的角落》该如何看待孩子在学校交朋友?
  3. android运用 sqlite 实现简单的通讯录_大一新生作品:利用 C 语言实现quot;通讯录管理系统quot;,直言太简单...
  4. MNIST数据集合在PaddlePaddle环境下使用简单神经网络识别效果
  5. 基于USR-WiFi模块的 ESP32,ESP8266 Thonny调试器
  6. 2021年春季学期-信号与系统-第三次作业参考答案-第三道题
  7. 第十六届全国大学生智能汽车竞赛全国总决赛承办申请汇报
  8. 组装肩部带有减速器双轴机械臂组装与调试
  9. python 代理ip验证_python爬虫成长之路(二):抓取代理IP并多线程验证
  10. python在线编辑器编译excel_python在线编译器的简单原理及简单实现代码