深入理解JavaScript 函数


Posted in Javascript onJune 06, 2016

方法&函数

区别

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 函数就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS 学习笔记 防止发生命名冲突
Jul 30 Javascript
Mootools 1.2教程 Fx.Morph、Fx选项和Fx事件
Sep 15 Javascript
jQuery中wrapAll()方法用法实例
Jan 16 Javascript
js判断文本框剩余可输入字数的方法
Feb 04 Javascript
node.js下LDAP查询实例分享
Sep 30 Javascript
简单实现JS对dom操作封装
Dec 02 Javascript
分享JavaScript监听全部Ajax请求事件的方法
Aug 28 Javascript
基于datepicker定义自己的angular时间组件的示例
Mar 14 Javascript
javaScript强制保留两位小数的输入数校验和小数保留问题
May 09 Javascript
VUE:vuex 用户登录信息的数据写入与获取方式
Nov 11 Javascript
js实现圆形菜单选择器
Dec 03 Javascript
vue的项目如何打包上线
Apr 13 Vue.js
Node.js的Web模板引擎ejs的入门使用教程
Jun 06 #Javascript
javascript url几种编码方式详解
Jun 06 #Javascript
ionic js 复选框 与普通的 HTML 复选框到底有没区别
Jun 06 #Javascript
ionic js 模型 $ionicModal 可以遮住用户主界面的内容框
Jun 06 #Javascript
JavaScript sort数组排序方法和自我实现排序方法小结
Jun 06 #Javascript
深入理解逻辑表达式的用法 与或非的用法
Jun 06 #Javascript
基于JS实现数字+字母+中文的混合排序方法
Jun 06 #Javascript
You might like
Zerg建筑一览
2020/03/14 星际争霸
重置版游戏视频
2020/04/09 魔兽争霸
JAVA/JSP学习系列之二
2006/10/09 PHP
利用php递归实现无限分类 格式化数组的详解
2013/06/08 PHP
php使用fsockopen函数发送post,get请求获取网页内容的方法
2014/11/15 PHP
用js统计用户下载网页所需时间的脚本
2008/10/15 Javascript
通过上下左右键和回车键切换光标实现代码
2013/03/08 Javascript
jquery为页面增加快捷键示例
2014/01/31 Javascript
基于jquery和svg实现超炫酷的动画特效
2014/12/09 Javascript
javascript定时器完整实例
2015/02/10 Javascript
JQuery判断radio(单选框)是否选中和获取选中值方法总结
2015/04/15 Javascript
HTML5游戏引擎LTweenLite实现的超帅动画效果(附demo源码下载)
2016/01/26 Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
2016/04/21 Javascript
js select实现省市区联动选择
2020/04/17 Javascript
在 Angular2 中实现自定义校验指令(确认密码)的方法
2017/01/23 Javascript
Javascript中数组去重与拍平的方法示例
2017/02/03 Javascript
Vue异步加载about组件
2017/10/31 Javascript
Typescript 中的 interface 和 type 到底有什么区别详解
2019/06/18 Javascript
[02:30]DOTA2放量测试专访海涛:呼吁保护新手玩家
2013/08/26 DOTA
[06:50]DSPL次级职业联赛十强晋级之路
2014/11/18 DOTA
python发腾讯微博代码分享
2014/01/10 Python
理解Python中的With语句
2015/02/02 Python
深入理解NumPy简明教程---数组2
2016/12/17 Python
基于Python中numpy数组的合并实例讲解
2018/04/04 Python
Python实现正整数分解质因数操作示例
2018/08/01 Python
pandas每次多Sheet写入文件的方法
2018/12/10 Python
Python的UTC时间转换讲解
2019/02/26 Python
Python 可变类型和不可变类型及引用过程解析
2019/09/27 Python
Python图像阈值化处理及算法比对实例解析
2020/06/19 Python
tensorflow 2.1.0 安装与实战教程(CASIA FACE v5)
2020/06/30 Python
Python3+Django get/post请求实现教程详解
2021/02/16 Python
几道数据库的面试题或笔试题
2014/05/31 面试题
股指期货心得体会
2014/09/10 职场文书
高中生综合素质评价范文
2015/08/18 职场文书
2016师德师风学习心得体会
2016/01/12 职场文书
MySql统计函数COUNT的具体使用详解
2022/08/14 MySQL