`

看李战<<悟透js>>再次理解apply,call与this的关系

阅读更多
在js函数里面,你只能把“this”看做当前要服务的“这个”对象。并能完全的代表“自身”.看下面DMOE就可以理解为啥不能“完全自我”。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>警惕this陷阱</title>
</head>
<body>
<script type="text/javascript">
function wAlert() {
	alert("I'm " + this.name + " of " + typeof (this));
}
//这时候的this是代表的window全局对象,其没有name这个属性,所以为空字符串。
wAlert();

var superMan = {name: "superMan"};
//把wAlert赋值给superMan的wAlert属性,这时superMan.wAlert()中的this就发生了变化,
//这时的this代表superMan对象,而superMan中有name属性,所以这时候弹出的结果就是
//I'm superMan of object
superMan.wAlert = wAlert;
superMan.wAlert();

//这时候的this是代表superMan
wAlert.apply(superMan);

//这时候的this是代表superMan
wAlert.call(superMan);
</script>
</body>
</html>
分享到:
评论

相关推荐

    [悟透JavaScript].李战.文字版

    [悟透JavaScript].李战.文字版

    悟透JavaScript(js)

    ### 悟透JavaScript(js):回归数据与代码的本质 #### 一、引言 《悟透JavaScript》这本书由李战(leadzen)撰写,旨在深入浅出地讲解JavaScript的核心概念和技术要点。本书通过生动有趣的比喻,将抽象的编程概念...

    悟透javascript

    在《悟透JavaScript》一书中,作者李战(leadzen)引领读者深入理解JavaScript的核心概念,强调了编程世界中数据与代码的基本关系及其在JavaScript中的独特体现。本书不仅因其文笔优美、代码示例丰富而备受推崇,更...

    悟透JavaScript-pdf版

    《悟透JavaScript》是李战撰写的一本JavaScript教程,它以其独特的讲解方式和生动的语言吸引了众多读者。这本书旨在帮助读者深入理解JavaScript这门强大的编程语言,不仅覆盖了基础概念,还涉及了高级特性,使读者...

    悟透 javascript

    原著:李战(leadzen) 编程世界里只存在两种基本元素,一个是数据,一个是代码。编程世界就是在数据和代码千丝万缕的纠缠中呈现出无限的生机和活力。

    悟透JavaScript

    悟透JavaScript 李战,漫画形式说明javascript禅道

    一本悟透JavaScript的好书

    《一本悟透JavaScript》是李战先生所著的一本深入浅出的JavaScript编程书籍,它以其独特的视角和简洁明了的讲解方式,深受广大编程爱好者喜爱。这本书虽然篇幅不长,但内容丰富,旨在帮助读者快速理解并掌握...

    浅谈javascript的数据类型检测

    悟透JavaScript&gt;&gt;写得太传神,印象太深刻了】 二、javascript的数据类型检测 1、万能的typeof 我们先测试一下通过typeof来获取简单数据类型。什么也别说了,上代码是王道: 代码如下: // 获取变量obj的数据类型 ...

    Javascript围棋(含行棋路线)

    在《悟透JavaScript》一书中,作者李战通过"禅棋传说"这一章节,深入浅出地介绍了如何用JavaScript编程实现围棋游戏。这个压缩包文件"weiqi"很可能包含了实现这个游戏的源代码。 1. **JavaScript基础知识**:...

    javascript真经

    ### JavaScript真经——回归数据与代码的本原 #### 前言 在《JavaScript真经》这部作品中,作者李战(笔名leadzen)深入浅出地讲解了JavaScript的核心概念及其背后的哲学思考。本书不仅仅是一本技术手册,更是引导...

Global site tag (gtag.js) - Google Analytics