javascript变量作用域、计时器、封闭函数

在这里插入图片描述
变量的作用域

变量作用域指的是变量的作用范围,javascript中的变量分为全局变量和局部变量。

1、全局变量:在函数之外定义的变量,为整个页面公用,函数内部外部都可以访问。

2、局部变量:在函数内部定义的变量,只能在定义该变量的函数内部访问,外部无法访问。

<script type="text/javascript">
    //全局变量
    var a = 12;
    function myalert()
    {
        //局部变量
        var b = 23;
        alert(a);
        alert(b);
    }
    myalert(); //弹出12和23
    alert(a);  //弹出12    
    alert(b);  //出错
</script>

定时器

setTimeout 只执行一次的定时器

clearTimeout 关闭只执行一次的定时器

setInterval 反复执行的定时器

clearInterval 关闭反复执行的定时器

<script type="text/javascript">
function time(){
    console.log('定时器');
    }
    //循环计时器
    times=setInterval('time()',200);//开启循环计时器  没200毫秒执行一次time
    clearInterval(times);//清除定时器,需要将开启计时器的方法用变量接收
    //一次计时器
    times_01=setTimeout('time()',1000);//1000毫秒后只执行一次
    clearTimeout(times_01);//清除定时器,需要将开启计时器的方法用变量接收
</script>

封闭函数(又叫js沙箱)

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

(function myalert(){
    alert('hello!');
})();

封闭函数的好处

封闭函数可以创造一个独立的空间,在封闭函数内定义的变量和函数不会影响外部同名的函数和变量,可以避免命名冲突,在页面上引入多个js文件时,用这种方式添加js文件比较安全,

还可以在函数定义前加上“~”和“!”等符号来定义匿名函数;虽然下列函数写有名称,但是通过其他方式调用不到;

<script type="text/javascript">
    !function myfun(){
   	 	alert();
    }();
    ~function myfun_01(){
    	alert();
    }();
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前言1   第1章 JavaScript概述5   1.1 JavaScript语言核心8   1.2 客户端JavaScript12   第一部分 JavaScript 语言核心   第2章 词法结构25   2.1 字符集25   2.2 注释27   2.3 直接量27   2.4 标识符和保留字28   2.5 可选的分号30   第3章 类型、值和变量32   3.1 数字34   3.2 文本38   3.3 布尔值43   3.4 null和undefined44   3.5 全局对象45   3.6 包装对象46   3.7 不可变的原始值和可变的对象引用47   3.8 类型转换48   3.9 变量声明55   3.10 变量作用56   第4章 表达式和运算符60   4.1 原始表达式60   4.2 对象和数组的初始化表达式61   4.3 函数定义表达式62   4.4 属性访问表达式63   4.5 调用表达式64   4.6 对象创建表达式64   4.7 运算符概述65   4.8 算术表达式69   4.9 关系表达式74   4.10 逻辑表达式79   4.11 赋值表达式81   4.12 表达式计算83   4.13 其他运算符86   第5章 语句91   5.1 表达式语句92   5.2 复合语句和空语句92   5.3 声明语句94   5.4 条件语句96   5.5 循环101   5.6 跳转106   5.7 其他语句类型113   5.8 JavaScript语句小结116   第6章 对象118   6.1 创建对象120   6.2 属性的查询和设置123   6.3 删除属性127   6.4 检测属性128   6.5 枚举属性130   6.6 属性getter和setter132   6.7 属性的特性134   6.8 对象的三个属性138   6.9 序列化对象141   6.10 对象方法142   第7章 数组144   7.1 创建数组 144   7.2 数组元素的读和写145   7.3 稀疏数组147   7.4 数组长度148   7.5 数组元素的添加和删除149   7.6 数组遍历149   7.7 多维数组151   7.8 数组方法152   7.9 ECMAScript 5中的数组方法 156   7.10 数组类型160   7.11 类数组对象161   7.12 作为数组的字符串163   第8章 函数165   8.1 函数定义166   8.2 函数调用168   8.3 函数的实参和形参173   8.4 作为值的函数178   8.5 作为命名空间的函数181   8.6 闭包182   8.7 函数属性、方法和构造函数188   8.8 函数式编程194   第9章 类和模块201   9.1 类和原型202   9.2 类和构造函数203   9.3 JavaScript中Java式的类继承207   9.4 类的扩充210   9.5 类和类型212   9.6 JavaScript中的面向对象技术217   9.7 子类230   9.8 ECMAScript 5 中的类239   9.9 模块248   第10章 正则表达式的模式匹配253   10.1 正则表达式的定义253   10.2 用于模式匹配的String方法261   10.3 RegExp对象263   第11章 JavaScript的子集和扩展267   11.1 JavaScript的子集268   11.2 常量和局部变量271   11.3 解构赋值274   11.4 迭代276   11.5 函数简写285   11.6 多catch 从句285   11.7 E4X: ECMAScript for XML286   第12章 服务器端JavaScript290   12.1 用Rhino脚本化Java291   12.2 用Node实现异步I/O297   第二部分 客户端JavaScript   第13章 Web浏览器中的JavaScript309   13.1 客户端JavaScript309   13.2 在HTML里嵌入JavaScript313   13.3 JavaScript程序的执行319   13.4 兼容性和互用性326   13.5 可访问性333   13.6 安全性334   13.7 客户端框架339   第14章 Window对象341   14.1 计时器342   14.2 浏览器定位和导航343   14.3 浏览历史345   14.4 浏览器和屏幕信息346   14.5 对话框348   14.6 错误处理351   14.7 作为Window对象属性的文档元素351   14.8 多窗口和窗体353   第15章 脚本化文档361   15.1 DOM概览362   15.2 选取文档元素364   15.3 文档结构和遍历371   15.4 属性375   15.5 元素的内容378   15.6 创建、插入和删除节点382   15.7 例子:生成目录表387   15.8 文档和元素的几何形状和滚动389   15.9 HTML表单396   15.10 其他文档特性404   第16章 脚本化CSS410   16.1 CSS概览411   16.2 重要的CSS属性416   16.3 脚本化内联样式427   16.4 查询计算出的样式431   16.5 脚本化CSS类433   16.6 脚本化样式表436   第17章 事件处理440   17.1 事件类型442   17.2 注册事件处理程序451   17.3 事件处理程序的调用454   17.4 文档加载事件459   17.5 鼠标事件461   17.6 鼠标滚轮事件465   17.7 拖放事件468   17.8 文本事件475   17.9 键盘事件478   第18章 脚本化HTTP484   18.1 使用XMLHttpRequest487   18.2 借助
前言1   第1章 JavaScript概述5   1.1 JavaScript语言核心8   1.2 客户端JavaScript12   第一部分 JavaScript 语言核心   第2章 词法结构25   2.1 字符集25   2.2 注释27   2.3 直接量27   2.4 标识符和保留字28   2.5 可选的分号30   第3章 类型、值和变量32   3.1 数字34   3.2 文本38   3.3 布尔值43   3.4 null和undefined44   3.5 全局对象45   3.6 包装对象46   3.7 不可变的原始值和可变的对象引用47   3.8 类型转换48   3.9 变量声明55   3.10 变量作用56   第4章 表达式和运算符60   4.1 原始表达式60   4.2 对象和数组的初始化表达式61   4.3 函数定义表达式62   4.4 属性访问表达式63   4.5 调用表达式64   4.6 对象创建表达式64   4.7 运算符概述65   4.8 算术表达式69   4.9 关系表达式74   4.10 逻辑表达式79   4.11 赋值表达式81   4.12 表达式计算83   4.13 其他运算符86   第5章 语句91   5.1 表达式语句92   5.2 复合语句和空语句92   5.3 声明语句94   5.4 条件语句96   5.5 循环101   5.6 跳转106   5.7 其他语句类型113   5.8 JavaScript语句小结116   第6章 对象118   6.1 创建对象120   6.2 属性的查询和设置123   6.3 删除属性127   6.4 检测属性128   6.5 枚举属性130   6.6 属性getter和setter132   6.7 属性的特性134   6.8 对象的三个属性138   6.9 序列化对象141   6.10 对象方法142   第7章 数组144   7.1 创建数组 144   7.2 数组元素的读和写145   7.3 稀疏数组147   7.4 数组长度148   7.5 数组元素的添加和删除149   7.6 数组遍历149   7.7 多维数组151   7.8 数组方法152   7.9 ECMAScript 5中的数组方法 156   7.10 数组类型160   7.11 类数组对象161   7.12 作为数组的字符串163   第8章 函数165   8.1 函数定义166   8.2 函数调用168   8.3 函数的实参和形参173   8.4 作为值的函数178   8.5 作为命名空间的函数181   8.6 闭包182   8.7 函数属性、方法和构造函数188   8.8 函数式编程194   第9章 类和模块201   9.1 类和原型202   9.2 类和构造函数203   9.3 JavaScript中Java式的类继承207   9.4 类的扩充210   9.5 类和类型212   9.6 JavaScript中的面向对象技术217   9.7 子类230   9.8 ECMAScript 5 中的类239   9.9 模块248   第10章 正则表达式的模式匹配253   10.1 正则表达式的定义253   10.2 用于模式匹配的String方法261   10.3 RegExp对象263   第11章 JavaScript的子集和扩展267   11.1 JavaScript的子集268   11.2 常量和局部变量271   11.3 解构赋值274   11.4 迭代276   11.5 函数简写285   11.6 多catch 从句285   11.7 E4X: ECMAScript for XML286   第12章 服务器端JavaScript290   12.1 用Rhino脚本化Java291   12.2 用Node实现异步I/O297   第二部分 客户端JavaScript   第13章 Web浏览器中的JavaScript309   13.1 客户端JavaScript309   13.2 在HTML里嵌入JavaScript313   13.3 JavaScript程序的执行319   13.4 兼容性和互用性326   13.5 可访问性333   13.6 安全性334   13.7 客户端框架339   第14章 Window对象341   14.1 计时器342   14.2 浏览器定位和导航343   14.3 浏览历史345   14.4 浏览器和屏幕信息346   14.5 对话框348   14.6 错误处理351   14.7 作为Window对象属性的文档元素351   14.8 多窗口和窗体353   第15章 脚本化文档361   15.1 DOM概览362   15.2 选取文档元素364   15.3 文档结构和遍历371   15.4 属性375   15.5 元素的内容378   15.6 创建、插入和删除节点382   15.7 例子:生成目录表387   15.8 文档和元素的几何形状和滚动389   15.9 HTML表单396   15.10 其他文档特性404   第16章 脚本化CSS410   16.1 CSS概览411   16.2 重要的CSS属性416   16.3 脚本化内联样式427   16.4 查询计算出的样式431   16.5 脚本化CSS类433   16.6 脚本化样式表436   第17章 事件处理440   17.1 事件类型442   17.2 注册事件处理程序451   17.3 事件处理程序的调用454   17.4 文档加载事件459   17.5 鼠标事件461   17.6 鼠标滚轮事件465   17.7 拖放事件468   17.8 文本事件475   17.9 键盘事件478   第18章 脚本化HTTP484   18.1 使用XMLHttpRequest487   18.2 借助
JavaScript权威指南(第6版)》主要讲述的内容涵盖JavaScript语言本身,以及Web浏览器所实现的JavaScript API。本书第6版涵盖了HTML5和ECMAScript 5,很多章节完全重写,增加了当今Web开发的最佳实践的内容,新增的章节包括jQuery、服务器端JavaScript、图形编程以及 JavaScript式的面向对象。本书不仅适合初学者系统学习,也适合有经验的 JavaScript 开发者随手翻阅。 David Flanagan是一名程序员,也是一名作家,它的个人网站是 。他在O’Reilly出版的其他畅销书还包括《JavaScript Pocket Reference》、《The Ruby Programming Language》、以及《Java in a Nutshell》。David毕业于麻省理工学院,获得计算机科学与工程学位。他和妻子和孩子一起生活在西雅图和温哥华之间的美国太平洋西北海岸。 目录: 前言 第1章 JavaScript概述 1.1 JavaScript语言核心 1.2 客户端JavaScript 第一部分 JavaScript 语言核心 第2章 词法结构 2.1 字符集 2.2 注释 2.3 直接量 2.4 标识符和保留字 2.5 可选的分号 第3章 类型、值和变量 3.1 数字 3.2 文本 3.3 布尔值 3.4 null和undefined 3.5 全局对象 3.6 包装对象 3.7 不可变的原始值和可变的对象引用 3.8 类型转换 3.9 变量声明 3.10 变量作用 第4章 表达式和运算符 4.1 原始表达式 4.2 对象和数组的初始化表达式 4.3 函数定义表达式 4.4 属性访问表达式 4.5 调用表达式 4.6 对象创建表达式 4.7 运算符概述 4.8 算术表达式 4.9 关系表达式 4.10 逻辑表达式 4.11 赋值表达式 4.12 表达式计算 4.13 其他运算符 第5章 语句 5.1 表达式语句 5.2 复合语句和空语句 5.3 声明语句 5.4 条件语句 5.5 循环 5.6 跳转 5.7 其他语句类型 5.8 JavaScript语句小结 第6章 对象 6.1 创建对象 6.2 属性的查询和设置 6.3 删除属性 6.4 检测属性 6.5 枚举属性 6.6 属性getter和setter 6.7 属性的特性 6.8 对象的三个属性 6.9 序列化对象 6.10 对象方法 第7章 数组 7.1 创建数组 7.2 数组元素的读和写 7.3 稀疏数组 7.4 数组长度 7.5 数组元素的添加和删除 7.6 数组遍历 7.7 多维数组 7.8 数组方法 7.9 ECMAScript 5中的数组方法 7.10 数组类型 7.11 类数组对象 7.12 作为数组的字符串 第8章 函数 8.1 函数定义 8.2 函数调用 8.3 函数的实参和形参 8.4 作为值的函数 8.5 作为命名空间的函数 8.6 闭包 8.7 函数属性、方法和构造函数 8.8 函数式编程 第9章 类和模块 9.1 类和原型 9.2 类和构造函数 9.3 JavaScript中Java式的类继承 9.4 类的扩充 9.5 类和类型 9.6 JavaScript中的面向对象技术 9.7 子类 9.8 ECMAScript 5 中的类 9.9 模块 第10章 正则表达式的模式匹配 10.1 正则表达式的定义 10.2 用于模式匹配的String方法 10.3 RegExp对象 第11章 JavaScript的子集和扩展 11.1 JavaScript的子集 11.2 常量和局部变量 11.3 解构赋值 11.4 迭代 11.5 函数简写 11.6 多catch 从句 11.7 E4X: ECMAScript for XML 第12章 服务器端JavaScript 12.1 用Rhino脚本化Java 12.2 用Node实现异步I/O 第二部分 客户端JavaScript 第13章 Web浏览器中的JavaScript 13.1 客户端JavaScript 13.2 在HTML里嵌入JavaScript 13.3 JavaScript程序的执行 13.4 兼容性和互用性 13.5 可访问性 13.6 安全性 13.7 客户端框架 第14章 Window对象 14.1 计时器 14.2 浏览器定位和导航 14.3 浏览历史 14.4 浏览器和屏幕信息 14.5 对话框 14.6 错误处理 14.7 作为Window对象属性的文档元素 14.8 多窗口和窗体 第15章 脚本化文档 15.1 DOM概览 15.2 选取文档元素 15.3 文档结构和遍历 15.4 属性 15.5 元素的内容 15.6 创建、插入和删除节点 15.7 例子:生成目录表 15.8 文档和元素的几何形状和滚动 15.9 HTML表单 15.10 其他文档特性 第16章 脚本化CSS 16.1 CSS概览 16.2 重要的CSS属性 16.3 脚本化内联样式 16.4 查询计算出的样式 16.5 脚本化CSS类 16.6 脚本化样式表 第17章 事件处理 17.1 事件类型 17.2 注册事件处理程序 17.3 事件处理程序的调用 17.4 文档加载事件 17.5 鼠标事件 17.6 鼠标滚轮事件 17.7 拖放事件 17.8 文本事件 17.9 键盘事件 第18章 脚本化HTTP 18.1 使用XMLHttpRequest 18.2 借助发送HTTP请求:JSONP 18.3 基于服务器端推送事件的Comet技术 第19章 jQuery类库 19.1 jQuery基础 19.2 jQuery的getter和setter 19.3 修改文档结构 19.4 使用jQuery处理事件 19.5 动画效果 19.6 jQuery中的Ajax 19.7 工具函数 19.8 jQuery选择器和选取方法 19.9 jQuery的插件扩展 19.10 jQuery UI类库 第20章 客户端存储 20.1 localStorage和sessionStorage 20.2 cookie 20.3 利用IE userData持久化数据 20.4 应用程序存储和离线Web应用 第21章 多媒体和图形编程 21.1 脚本化图片 21.2 脚本化音频和视频 21.3 SVG:可伸缩的矢量图形 21.4 中的图形 第22章 HTML5 API 22.1 地理位置 22.2 历史记录管理 22.3 跨消息传递 22.4 Web Worker 22.5 类型化数组和ArrayBuffer 22.6 Blob 22.7 文件系统API 22.8 客户端数据库 22.9 Web套接字 第三部分 JavaScript核心参考 JavaScript核心参考 第四部分 客户端JavaScript参考 客户端JavaScript参考
本书要讲述的内容涵盖JavaScript语言本身,以及Web浏览器所实现的JavaScriptAPI。本书第6版涵盖了HTML5和ECMAScript5,很多章节完全重写,增加了当今Web开发的最佳实践的内容,新增的章节包括jQuery、服务器端JavaScript、图形编程以及JavaScript式的面向对象。本书不仅适合初学者系统学习,也适合有经验的 JavaScript 开发者随手翻阅。 作者简介    DavidFlanagan是一名程序员,也是一名作家,它的个人网站是 。他在O’Reilly出版的其他畅销书还包括《JavaScriptPocket Reference》、《The Ruby Programming Language》、以及《Java in aNutshell》。David毕业于麻省理工学院,获得计算机科学与工程学位。他和妻子和孩子一起生活在西雅图和温哥华之间的美国太平洋西北海岸。 目录 前言 第1章 JavaScript概述 1.1 JavaScript语言核心 1.2 客户端JavaScript 第一部分 JavaScript 语言核心 第2章 词法结构 2.1 字符集 2.2 注释 2.3 直接量 2.4 标识符和保留字 2.5 可选的分号 第3章 类型、值和变量 3.1 数字 3.2 文本 3.3 布尔值 3.4 null和undefined 3.5 全局对象 3.6 包装对象 3.7 不可变的原始值和可变的对象引用 3.8 类型转换 3.9 变量声明 3.10 变量作用 第4章 表达式和运算符 4.1 原始表达式 4.2 对象和数组的初始化表达式 4.3 函数定义表达式 4.4 属性访问表达式 4.5 调用表达式 4.6 对象创建表达式 4.7 运算符概述 4.8 算术表达式 4.9 关系表达式 4.10 逻辑表达式 4.11 赋值表达式 4.12 表达式计算 4.13 其他运算符 第5章 语句 5.1 表达式语句 5.2 复合语句和空语句 5.3 声明语句 5.4 条件语句 5.5 循环 5.6 跳转 5.7 其他语句类型 5.8 JavaScript语句小结 第6章 对象 6.1 创建对象 6.2 属性的查询和设置 6.3 删除属性 6.4 检测属性 6.5 枚举属性 6.6 属性getter和setter 6.7 属性的特性 6.8 对象的三个属性 6.9 序列化对象 6.10 对象方法 第7章 数组 7.1 创建数组 7.2 数组元素的读和写 7.3 稀疏数组 7.4 数组长度 7.5 数组元素的添加和删除 7.6 数组遍历 7.7 多维数组 7.8 数组方法 7.9 ECMAScript 5中的数组方法 7.10 数组类型 7.11 类数组对象 7.12 作为数组的字符串 第8章 函数 8.1 函数定义 8.2 函数调用 8.3 函数的实参和形参 8.4 作为值的函数 8.5 作为命名空间的函数 8.6 闭包 8.7 函数属性、方法和构造函数 8.8 函数式编程 第9章 类和模块 9.1 类和原型 9.2 类和构造函数 9.3 JavaScript中Java式的类继承 9.4 类的扩充 9.5 类和类型 9.6 JavaScript中的面向对象技术 9.7 子类 9.8 ECMAScript 5 中的类 9.9 模块 第10章 正则表达式的模式匹配 10.1 正则表达式的定义 10.2 用于模式匹配的String方法 10.3 RegExp对象 第11章 JavaScript的子集和扩展 11.1 JavaScript的子集 11.2 常量和局部变量 11.3 解构赋值 11.4 迭代 11.5 函数简写 11.6 多catch 从句 11.7 E4X: ECMAScript for XML 第12章 服务器端JavaScript 12.1 用Rhino脚本化Java 12.2 用Node实现异步I/O 第二部分 客户端JavaScript 第13章 Web浏览器中的JavaScript 13.1 客户端JavaScript 13.2 在HTML里嵌入JavaScript 13.3 JavaScript程序的执行 13.4 兼容性和互用性 13.5 可访问性 13.6 安全性 13.7 客户端框架 第14章 Window对象 14.1 计时器 14.2 浏览器定位和导航 14.3 浏览历史 14.4 浏览器和屏幕信息 14.5 对话框 14.6 错误处理 14.7 作为Window对象属性的文档元素 14.8 多窗口和窗体 第15章 脚本化文档 15.1 DOM概览 15.2 选取文档元素 15.3 文档结构和遍历 15.4 属性 15.5 元素的内容 15.6 创建、插入和删除节点 15.7 例子:生成目录表 15.8 文档和元素的几何形状和滚动 15.9 HTML表单 15.10 其他文档特性 第16章 脚本化CSS 16.1 CSS概览 16.2 重要的CSS属性 16.3 脚本化内联样式 16.4 查询计算出的样式 16.5 脚本化CSS类 16.6 脚本化样式表 第17章 事件处理 17.1 事件类型 17.2 注册事件处理程序 17.3 事件处理程序的调用 17.4 文档加载事件 17.5 鼠标事件 17.6 鼠标滚轮事件 17.7 拖放事件 17.8 文本事件 17.9 键盘事件 第18章 脚本化HTTP 18.1 使用XMLHttpRequest 18.2 借助

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值