封闭函数:时javascript中匿名函数的另一种写法,创建一个一开始就执行而不用命名的函数

示例:

1)

(function(){
var str = '欢迎访问我的主页';
alert(str);
a++;
})();

2)

!function(){
var str = '欢迎访问我的主页';
alert(str);
a++;
}();

3)

~function(){
var str = '欢迎访问我的主页';
alert(str);
a++;
}();

注:在封闭函数前面加;可以避免一些不必要的问题~

闭包:函数嵌套函数,内部函数可以引用外部函数的参数和变量,参数和变量不会被垃圾回收机制收回。

由于闭包内存不能释放,所以过多的使用会造成内存泄露。

闭包作用:

1)将一个变量长期驻扎在内存当中,可用于循环中存索引值。

        var aLi = document.getElementsByTagName('li');

        for(var i=0;i<aLi.length;i++)
{
(function (i) {
aLi[i].onclick = function () {
alert(i);
}
})(i);
}

2)私有变量计数器,外部无法访问,避免全局变量的污染。

        var count = aa();
function aa() {
var a = 1;
function bb()
{
a++;
return a;
}
return bb;
}
alert(count());
alert(count());

内置对象:

1)document

document.referrer  //获取上一个跳转页面的地址(需要服务器环境)

2)location

window.location.href  //获取或者重定url地址;

window.location.search  //获取地址参数部分;

window.location.hash  //获取页面锚点或者叫哈希值;

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
window.onload = function (){
var Dat = window.location.search;
var oSpan = document.getElementById('span01');
var arr = Dat.split('=');
var a = arr[1];
oSpan.innerHTML = a;
}
</script>
</head>
<body>
<div>欢迎<span id="span01"></span>来到我的主页</div>
</body>
</html>

3)Math

Math.random  //获取0-1的随机数;

Math.floor  //向下取整;

Math.ceil  //向上取整;

JS——封闭函数、闭包、内置对象的更多相关文章

  1. js运算符、 流程控制 、函数、内置对象、BOM与DOM操作

    运算符 # 1.算术运算符 var x=10; var res1=x++; '先赋值后自增1' var res2=++x; '先自增1后赋值' # 2.比较运算符 弱等于:自动转换类型 '5' == ...

  2. JS运算符,流程控制,函数,内置对象,BOM与DOM

    运算符 1.算数运算符 运算符 描述 + 加 - 减 * 乘 / 除 % 取余(保留整数) ++ 递加 - - 递减 ** 幂 var x=10; var res1=x++; '先赋值后自增1' 10 ...

  3. Javascript初识之流程控制、函数和内置对象

    一.JS流程控制 1. 1.if else var age = 19; if (age > 18){ console.log("成年了"); }else { console. ...

  4. Go语言 - 函数 | 作用域 | 匿名函数 | 闭包 | 内置函数

    函数是组织好的.可重复使用的.用于执行指定任务的代码块.本文介绍了Go语言中函数的相关内容. 介绍 Go语言中支持函数.匿名函数和闭包,并且函数在Go语言中属于“一等公民”. 函数可以赋值给变量 函数 ...

  5. js学习---常用的内置对象(API)小结 :

    内置对象(API): 日期 Date: getFullYear() 返回完整的4位的年份  如:2016 getMonth()    返回月份,从0开始 getDate()   返回当前月的第几天,当 ...

  6. JS中有趣的内置对象-JSON

    前言 在以前的web开发中,我们多数选择纯文本或XML作为我们的提交的数据格式,大多数是XML,少数纯文本.其实从AJAX(Asynchronous JavaScript and XML)的命名我们也 ...

  7. js中常用的内置对象

    Arguments 函数参数集合 arguments[ ] 函数参数的数组 Arguments 一个函数的参数和其他属性 Arguments.callee 当前正在运行的函数     Argument ...

  8. JavaScript函数和内置对象

    一.函数 function f1(){ console.log("666"); } f1(); //调用函数 1.普通函数定义 function f1(a,b){ console. ...

  9. js中常见的内置对象

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  10. JS中一些常用的内置对象

    在JS中,经常会遇到明明知道一个对象有某个属性或方法,可是又不知道怎么写的情况.下面,我就罗列了一些JS中常用的内置对象的属性和方法. Math对象: Math对象的作用是执行常见的算术任务. 首先M ...

随机推荐

  1. w3c上的SQL 教程---基本语法 语句学习

    SQL 教程路径:http://www.w3school.com.cn/sql/index.asp

  2. js之__proto__原型链

    可参考: http://blog.csdn.net/irelandken/article/details/7297490

  3. findBug 错误修改指南

      1. EC_UNRELATED_TYPESBug: Call to equals() comparing different types Pattern id: EC_UNRELATED_TYPE ...

  4. 多校联合训练&hdu5791 Two

    hdu5791 dp[i][j]表示的是序列A前i个数字和序列B前j个数字的公共子序列的总个数,那么的dp公式就可以这么表示 理解一下此公式若最尾部的a[i]和b[j]相等的话,那么单独的a[i]和b ...

  5. 杂项-JS:artTemplate.js

    ylbtech-杂项-JS:artTemplate.js artTemplate 是新一代 javascript 模板引擎,它采用预编译方式让性能有了质的飞跃,并且充分利用 javascript 引擎 ...

  6. Go和HTTPS

    转自:http://tonybai.com/2015/04/30/go-and-https/ 近期在构思一个产品,考虑到安全性的原因,可能需要使用到HTTPS协议以及双向数字证书校验.之前只是粗浅接触 ...

  7. arm-linux-3.4.2移植for2440

    ----------------------------2440 上内核3.4.2移植------------------------ PS:因wifi项目中无wifi驱动,需新内核. 1.首先在内核 ...

  8. pythoon_interview_redit

    easy/intermediate What are Python decorators and how would you use them?How would you setup many pro ...

  9. ES6学习之let和const

    1.let 基本用法:let声明的变量,只在let命令所在的代码块内有效 { let a = 1; var b = 2; } console.log(a) //a is not defined con ...

  10. java 正则表达式 验证邮箱

    import java.util.regex.Matcher; import java.util.regex.Pattern; public class demo1 { /**java正则表达式 * ...