该章节将从以下几个方面来谈论ths的使用环境。

1/this和构造器

2/this和对象

3/this和函数

4/全局环境的this

5/this和DOM/事件

7/me/self/that/_this 暂存this

8/ES5 中新增的bind和 this

9/ES6箭头函数(arrow function)和 this

-- / this和构造器
function Tab(nav,content)
{
this.nav=nav;
this.content=content;
}
Tab.prototype.getNav=function(){
return this.nav;
}
Tab.prototype.setNav=function(nav)
{
this.nav=nav;
} --2/this 和 对象
JS中的对象对象不用类也可以创建
var Tab={
  nav:'',
content:'',
getNav:function(){
return this.nav;
},
setNav:function(n){
this.nav=n;
}
} --3/this和函数
在 非严格模式 下,且this的值不是由该调用设置的,所以this的值默认指向全局对象
function f1(){
return this;
}
f1()==window; // true;在浏览器中,全局对象是window
f1()==global;// true;在Node中
在 严格模式 下,如果this没有被执行环境定义,那么将为undefined;
function f2(){
"use strict";//严格模式
return this;
}
f2()==undefined;//true
原因:因为f2是被直接调用的,不是作为对象的属性或方法调用 --4/全局环境的this
console.log(this==window); //true
a=37;
console.log(window.a);//37
this.b="mon";
console.log(window.b);//mon
console.log(b);//mon

javascript 之 第七章第三节(this关键字)的更多相关文章

  1. 读《编写可维护的JavaScript》第七章总结

      第七章 事件处理 7.1 典型用法 作者首先给了个我们一个处理事件的方法.看起来也没啥俩样,不过后来给出的优化方法很值得学习: // 不好的写法 function handleClick(even ...

  2. 字典 -- 数据结构与算法的javascript描述 第七章

    字典 字典是一种以键-值对形式存储数据的数据结构 最基本功能规划 add 添加数据到字典 remove 从字典中移除数据 get 从字典中取出数据 count 统计字典数据量 find 查找数据在字典 ...

  3. javascript 之 第七章第一节(递归)

    先举例: function factorial(num) { ) { return num; } else { ); } } //输出120 //进一步去思考有名字的函数,且名字不会有变化的情况下,这 ...

  4. 为什么我要放弃javaScript数据结构与算法(第七章)—— 字典和散列表

    本章学习使用字典和散列表来存储唯一值(不重复的值)的数据结构. 集合.字典和散列表可以存储不重复的值.在集合中,我们感兴趣的是每个值本身,并把它作为主要元素.而字典和散列表中都是用 [键,值]的形式来 ...

  5. [书籍翻译] 《JavaScript并发编程》第七章 抽取并发逻辑

    本文是我翻译<JavaScript Concurrency>书籍的第七章 抽取并发逻辑,该书主要以Promises.Generator.Web workers等技术来讲解JavaScrip ...

  6. JavaScript DOM编程艺术-学习笔记(第七章)

    第七章: 1.dom方法创建并且插入标签:(这种方法并没有改变文档的物理内容,而是在改变dom树) ①创建元素节点:createElement(); ②内部前插入:appendChild() ③创建文 ...

  7. ArcGIS API for JavaScript 4.2学习笔记[24] 【IdentifyTask类】的使用(结合IdentifyParameters类)(第七章完结)

    好吧,我都要吐了. 接连三个例子都是类似的套路,使用某个查询参数类的实例,结合对应的Task类,对返回值进行取值.显示. 这个例子是Identify识别,使用了TileLayer这种图层,数据来自Se ...

  8. 精通Web Analytics 2.0 (9) 第七章:失败更快:爆发测试与实验的能量

    精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第七章:失败更快:爆发测试与实验的能量 欢迎来到实验和测试这个棒极了的世界! 如果Web拥有一个超越所有其他渠道的巨大优势,它就 ...

  9. 《Entity Framework 6 Recipes》中文翻译系列 (38) ------ 第七章 使用对象服务之动态创建连接字符串和从数据库读取模型

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第七章 使用对象服务 本章篇幅适中,对真实应用中的常见问题提供了切实可行的解决方案. ...

随机推荐

  1. mysql中find_in_set的使用

    首先举个例子来说: 有个文章表里面有个type字段,它存储的是文章类型,有 1头条.2推荐.3热点.4图文等等 .现在有篇文章他既是头条,又是热点,还是图文,type中以 1,3,4 的格式存储.那我 ...

  2. pymysql连接数据库报错:'NoneType' object has no attribute 'encoding'

    直接写 utf8 即可.

  3. MySQL使用root权限创建用户并授权

    MySql篇 1.下载并安装Mysql (1)下载地址 MySQL-8.0下载地址 (2)Mysql配置 1.home目录下命令行执行:vi    .bash_profile来配置MySql绝对路径 ...

  4. PHP防CC攻击代码

    PHP防CC攻击代码: empty($_SERVER['HTTP_VIA']) or exit('Access Denied'); //代理IP直接退出 session_start(); $secon ...

  5. _sntprintf_s 和 _sntprintf 区别

    https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/snprintf-s-snprintf-s-l-snwprintf-s ...

  6. Linux rh7环境下安装Oracle数据库

    1.修改Linux系统的参数 1)检查系统的版本 # more /etc/redhat-release 2)关闭SELinux,需要restart # sed -i 's/SELINUX=enforc ...

  7. Cocos Creator JS web平台复制粘贴代码(亲测可用)

    Cocos Creator JS web平台复制粘贴代码(亲测可用) 1 webCopyString: function(str){ var input = str; const el = docum ...

  8. git备注

    下拉仓库 git clone ""建立本地分支 git checkout -b "分支名字" 修改代码以后切换到主分支 git checkout master更 ...

  9. zabbix监控实战<3> 之自定义监控实例

    第一章    自定义监控tcp状态 命令可以选择ss 或者 netstat    ss打印基于socket的统计信息,实际运行下来,ss的速度要比netstat要快得多 1.1  tcp的十一种状态 ...

  10. 从零开始搭建一个vue.js的脚手架

    在谷歌工作的时候,我们要做很多界面的原型,要求快速上手,灵活运用,当时用的一些现有框架,比如angular,太笨重了——尤雨溪(Vue.js 作者) vue.js是现在一个很火的前端框架,官网描述其简 ...