下面小编就为大家带来一篇深入理解 JavaScript 函数。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
方法 & 函数
区别
1.function 是更通用的概念,如数学、编程
2.method 是面向对象中的概念,一般与类或对象成对出现
关系
1. 对象的属性可以是任意类型
2. 对象的属性如果是函数类型,它就叫做这个对象的方法
3. 所以方法的本质还是函数
函数的调用
1.fun()
2.obj.fun()
3.fun.call()
函数的属性和方法
1.name
2.length
3.toString
作用域
变量不是哪里都可以使用
全局变量(跨文件)
- var n = 1;
- function fn(){
- console.log(n); // 1
- }
局部变量(只能在函数内部访问)
- function fn1() {
- var n = 2;
- }
- console.log(n); // Uncaught ReferenceError: number is not defined
函数作用域
• 函数能独立出一个作用域
- var n = 1;
- function f() {
- var n = 2;
- console.log(n); // 在当前作用域进行变量寻找
- }
- f();
- console.log(n); // 在全局作用域进行变量寻找
• 函数里面可以访问函数外面
- var n = 1;
- var x = function(){
- console.log(n);
- };
- function f(){
- var n = 2;
- x();
- }
- f();
• 自调用匿名函数
- !function (){
- var n = 1;
- console.log(n);
- };
- ~function (){
- var n = 1;
- console.log(n);
- };
- (function(){
- var n = 1;
- console.log(n);
- }());
• 闭包
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>
- JS Bin
- </title>
- </head>
- <body>
- <ul>
- <li>
- aaa
- </li>
- <li>
- bbb
- </li>
- <li>
- ccc
- </li>
- <li>
- ddd
- </li>
- <li>
- eee
- </li>
- </ul>
- <script>
- var items = document.getElementsByTagName('li'),
- i = 0;
- for (i; i < items.length; i++) {
- items[i].onclick = function(e) {
- alert(i);
- };
- }
- </script>
- </body>
- </html>
以上这篇深入理解 JavaScript 函数就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持 phperz。
来源: http://www.phperz.com/article/17/0225/265117.html