<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Hello Bind!</title>
</head>
<body>
<div id="example"></div>
<script type="text/javascript">
this.x = 9;
var module = {
x: 81,
getX: function() { return this.x; }
};
module.getX(); // 81
var retrieveX = module.getX;
retrieveX(); // 9, because in this case, "this" refers to the global object
//这里相当于把getX的函数体赋给了一个全局对象,this自然就变了
// Create a new function with 'this' bound to module
//New programmers (like myself) might confuse the global var getX with module's property getX
//这里创建一个新的函数和retrieveX 一样也就是和getX一样,但是this指向module
var boundGetX = retrieveX.bind(module);
boundGetX(); // 81
</script>
</body>
</html>
相关推荐
1.知识点包括:基础语法,字符串操作,object对象,DOM对象,BOM对象,offset,client,scroll对象,事件,事件流处理,函数(call,apply,bind函数),作用域,闭包(十种闭包的应用场景),面向对象,正则表达式,...
JavaScript 高级笔记 - 函数的定义和调用、this 指向和改变、严格模式 JavaScript 中的函数定义和调用是编程语言的基础。函数可以定义多种方式,包括函数声明、函数表达式和 new Function()。函数的调用方式也多种...
这样,每个函数内部的`this`都指向全局对象`window`,除非在函数内部有明确的`this`绑定,如`bind`、`call`或`apply`。 在闭包中,`this`的指向取决于调用上下文。在上述的`getUserFunction`示例中,`this`在闭包内...
4. **this绑定**:this的值取决于函数调用方式,可以是默认绑定、隐式绑定、显式绑定(call/apply/bind)或new绑定。 二、函数式编程 5. **高阶函数**:可以接收函数作为参数或者返回函数的函数,如map、reduce、...
这篇笔记将深入探讨JavaScript的关键知识点,包括`this`的用法、事件对象、`var`的作用域以及一些实用技巧。 首先,`this`是JavaScript中的一个关键字,用于引用函数或对象的上下文。在不同场景下,`this`的值会...
通过构造函数创建对象,通过原型链实现继承,使用call()、apply()或bind()方法改变函数的上下文,以及利用new关键字创建实例,都是JavaScript中实现面向对象编程的关键技术。 总之,这份笔记归类详尽地梳理了...
- EcmaScript 5是JavaScript的一个版本,包含了如`Array.prototype.forEach()`, `Object.create()`, `Function.prototype.bind()`等新特性。 以上内容涵盖了JavaScript的基础知识,这些概念构成了JavaScript编程的...
JavaScript高阶笔记总结: 目前学到的this指向: 1.普通函数的this指向 window 2.构造函数this指向实例化对象 3.事件中的this指向事件源 4.定时器中的this指向window 5.立即执行函数中的this指向window 6.对象...
为了解决这个问题,可以使用立即执行的匿名函数来创建每个闭包时的局部变量副本,或者使用`bind`方法绑定`i`的值到`console.log`函数。 闭包不仅仅是技术上的实现,更是一种设计模式,它通过封装变量,使得外部用户...
Vue.js是一款流行的渐进式JavaScript框架,它的核心特性包括组件化、虚拟DOM、指令系统(v-bind、v-if等)、计算属性、生命周期钩子。Vue Router用于管理应用的路由,Vue Axios则是一个基于Promise的HTTP库,常用于...
`Function.prototype.bind` 允许我们创建一个新的函数,其 `this` 值被指定为 `bind()` 的第一个参数,且原函数的参数列表从第二个参数开始。 #### 6. 开发模式 JavaScript 的开发模式主要有两种:函数式和面向...
总结来说,这篇学习笔记揭示了在编写JavaScript时如何处理事件绑定和上下文(`this`)的问题,以及如何解决`setInterval`在不同浏览器中的兼容性问题。这些问题在实际开发中非常常见,理解并掌握这些技巧对于编写...
JavaScript高级程序设计学习笔记(四)主要探讨了JavaScript中的引用类型、Function类型、函数的声明与定义、函数表达式以及一些基本包装类型的相关知识。在JavaScript中,函数不仅仅是代码块,它们也是对象,具备...
Vue.js 是一款流行的轻量级前端JavaScript框架,由尤雨溪开发,旨在简化Web应用程序的构建。Vue的核心特性包括数据绑定、组件系统、指令系统、虚拟DOM以及生命周期管理,使得开发者能够更高效地构建可复用、可维护的...
5. **this关键字**:this的值取决于函数调用的位置和方式,它可以指向全局对象、当前对象、new操作符创建的新对象或通过call、apply、bind方法绑定的对象。 6. **异步编程**:JavaScript的非阻塞特性使得异步编程...
Vue.js,通常简称为Vue,是一款轻量级的前端JavaScript框架,由尤雨溪开发,设计目标是通过简洁的API实现可复用性和可维护性。在这个“codewhy老师上课的笔记和课件”中,我们可以期待学习到关于Vue的基础知识、核心...