JS权威指南笔记(171页)-this关键字的作用域

和变量不同,关键字this没有作用域的限制,嵌套函数不会从调用它的函数中继承this.如果嵌套函数作为方法调用,其this值不是全局对象(非严格模式下),就是undefined(严格模式下).很多人误以为调用嵌套函数时this会指向调用外层函数的上下文.如果你想访问这个外部函数的this值,需要将this的值保持在一个变量里,这个变量和内部函数都同在一个作用域内.通常使用变量self来保存this,比如:

        var o={
            m:function(){
                var self=this;
                console.log(this===o);//==>true;
                f();

                function f(){
                    console.log(this===o);//==>false;
                    console.log(self===o);//==>true;
                }
            }
        };
        o.m();

原文地址:https://www.cnblogs.com/nb08611033/p/8600969.html

时间: 2024-08-29 09:14:14

JS权威指南笔记(171页)-this关键字的作用域的相关文章

Node.js权威指南笔记

第一章 Node.js介绍 1.Node.js中的模块 每个模块一个js文件,每个模块定义的全局变量或函数的作用范围也被限定在这个模块之内,只有使用exports对象才能将其传递到外部 2.简单实例: var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/html'}); res.write('<head><meta cha

angular js权威指南笔记

ng-app 属性声明所有被其包含的内容都属于这个 AngularJS 应用 只有被具有 ng-app 属性的 DOM 元素包含的元素才会受 AngularJS 影响 视图理解为模型状态的映射.当客户端的数据模型发生变化时,视图就能反映出这些变化 MVC 是一种软件架构设计模式,它将表现从用户交互中分离出来.通常来讲,模型中包含应用的数据和与数据进行交互的方法, 视图将数据呈献给用户,而 控制器则是二者之间的桥梁 当 AngularJS 认为某个值可能发生变化时,它会运行自己的事件循环来检查这个

JS权威指南笔记1

1.JavaScript数据类型可分为两种:原始类型和对象类型.原始类型下又包括数字.字符串和布尔值,以及null和undefined这两个特殊的:对象是属性的集合,且每个属性都有自己的"名/值对",常见的对象类型有函数.数组(Array).日期(Date).正则(RegExp)和错误(Error). 1.1 数据类型也可分为可变类型和不可变类型.对象和数组都是可变类型,数字.布尔值,以及null和undefined都是不可变类型. 2.JavaScript解释器有自己的内存管理机制,

angular js权威指南笔记三--向指令中传递数据

给指令添加属性,这个属性会成为指令内部作用域的属性 有好几种途径可以设置指令内部作用域中属性的值.最简单的方法就是使用由所属控制器提供的已经存在的作用域. 但是会导致很多其他问题.如果控制器被移除,或者在控制器的作用域中也定义了一个叫 相同的属性名,我们就被迫要修改代码 AngularJS 允许通过创建新的子作用域或者隔离作用域来解决这个常见问题 <div my-directive some-property="someProperty with @ binding">&l

【vue.js权威指南】读书笔记(第一章)

最近在读新书<vue.js权威指南>,一边读,一边把笔记整理下来,方便自己以后温故知新,也希望能把自己的读书心得分享给大家. [第1章:遇见vue.js] vue.js是什么? vue.js不是一个框架-它只聚焦视图层,是一个用来构建数据驱动的Web界面的库.Vue.js通过简单的API来提供高校的数据绑定和灵活的组件系统 vue.js的特性 轻量级:体积非常小,而且不依赖其他基础库 数据绑定:对于一些富交互,状态机类似的前端UI界面,数据绑定非常简单,方便 指令:类似与AJ,可以使用v-*的

Struts2权威指南笔记

1.mvc特点包括: ① 多个视图可以对应一个模型 ② 模型返回的数据与显示逻辑分离 ③ 应用层被分隔为三层,降低了各层之间的耦合,提供了应用的可扩展性 ④ 控制层的概念也很有效,由于它把不通的模型和不同的视图组合在一起,完成不同的请求 ⑤ Mvc更符合软件工程化管理的精神 2.Struts2框架的大致处理流程: ① 浏览器发送请求,如请求/mypage.action ② 核心控制器FilterDispatcher根据请求决定调用合适的Action ③ Webwork的拦截器链自动对请求应用通用

《JS权威指南学习总结--开始简介》

本书共分成了四大部分: 1.JS语言核心 2.客户端JS 3.JS核心参考 4.客户端JS核心参考 其中 <JS权威指南学习总结--1.1语法核心> 是:第一部分JS语言核心 各章节重点 简介 <JS权威指南学习总结--1.2客户端JS> 是:第二部分客户端JS 各章节重点 简介

css 权威指南笔记

部分属性选择: 选择class 属性中包含warning的元素 [class~="warning"]{font-weight:bold} 子串匹配属性选择器: 在现代浏览器中得到支持 包括ie7 特定属性选择器: css 权威指南笔记

Vue.js权威指南

内容简介 Vue.js 是一个用来开发Web 界面的前端库.<Vue.js权威指南>致力于普及国内Vue.js 技术体系,让更多喜欢前端的人员了解和学习Vue.js.如果你对Vue.js 基础知识感兴趣,如果你对源码解析感兴趣,如果你对Vue.js 2.0感兴趣,如果你对主流打包工具感兴趣,如果你对如何实践感兴趣,<Vue.js权威指南>都是一本不容错过的以示例代码为引导.知识涵盖全面的最佳选择.<Vue.js权威指南>一共30 章,由浅入深地讲解了Vue.js 基本语