js 在函数中遇到的this指向问题

//自执行函数的调用三种
/*
!function(){
	alert(123)
}();
(function(){
	alert(345)
}())
(function(){
	Array.prototype.push.call(arguments,3);
	console.log(arguments)//输出 [1,2,3]
})(1,2)
*/
var obj = {
	a:1,
	b:function(){
		console.log(this);
	}
}
obj.fn = function(){
	console.log(this);//===obj
}
obj.fn();
obj.b();//this==obj
//var c = obj.b();//this==obj
//c();//this==window;

Function.prototype.bind = function(context){
	var self = this;
	console.log(‘测试bind‘)
	console.log(this); // function(){var c = 1}
	return function(){
		return  self.apply(context,arguments)

	}
}
var o = {
	name:‘my name id huhu‘
}
var func = function(){
	alert(this.name)
}.bind(o);
console.log(func)  //function(){return self.apply(context,argument)}
func();

  

原文地址:https://www.cnblogs.com/mengdiezhuangzhou/p/9829115.html

时间: 2024-10-13 15:01:34

js 在函数中遇到的this指向问题的相关文章

JS高级---函数中的this的指向,函数的不同调用方式

函数中的this的指向 普通函数中的this是谁?-----window 对象.方法中的this是谁?----当前的实例对象 定时器方法中的this是谁?----window 构造函数中的this是谁?-----实例对象 原型对象方法中的this是谁?---实例对象 //严格模式: "use strict";//严格模式 function f1() { console.log(this);//window } f1() 函数的不同调用方式 //普通函数 function f1() {

理解 JS 回调函数中的 this

理解 JS 回调函数中的 this:https://www.cnblogs.com/gavinyyb/p/6286750.html 原文链接:http://www.tuicool.com/articles/z2Yvaq 任何变量或对象都有其赖以生存的上下文.如果简单地将对象理解为一段代码,那么对象处在不同的上下文,这段代码也会执行出不同的结果. 例如,我们定义一个函数 getUrl 和一个对象 pseudoWindow . function getUrl() { console.log(this

在js自定义函数中使用$(event.target)代替$(this)

<!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"> <ti

JS.【转】JS事件处理函数中return的作用

1.js事件处理函数中return的作用 - AnswerCard - 博客园.html(https://www.cnblogs.com/answercard/p/5255230.html) 2.网页内容保存: 这里面的return含有一些细节知识: 例如:onClick='return add_onclick()'与 onClick='add_onclick()'的区别 JAVASCRIPT在事件中调用函数时用return返回值实际上是对window.event.returnvalue进行设置

js事件处理函数中return的作用

原文:http://blog.csdn.net/gchonghavefun/article/details/8112830 这里面的return含有一些细节知识: 例如:onClick='return add_onclick()'与 onClick='add_onclick()'的区别 JavaScript在事件中调用函数时用return返回值实际上是对window.event.returnvalue进行设置. 而该值决定了当前操作是否继续.当返回的是true时,将继续操作.当返回是false时

js节流函数中的参数传递

以下内容,都是本人自己思考所得,不免存在很多问题,欢迎大家指正或者提供更好的解决方法. 在开发中,遇到这样一个问题:拍摄地点列表,用户如果在短时间内多次点击同一个地点时,将会添加多个同名地点. 很显然,这不是我们想要的结果.然后就上网搜了一下,知道了一个新的概念,函数节流(在这里,这个理解是错误的,应该是函数去抖,这个后面再说).在这里主要参照了博客园谦行的这篇文章:Javascript函数节流 这边文章主要讲述了无参数函数的节流,并提供了两种实现方式.而我在这里想要说的是这实际开发中,我遇到的

js在函数中未定义的变量的处理

<html> <head> <script type="text/javascript"> var z=1; function abc(){ x =123; var y=12; } abc(); alert(x); alert(y); </script> </head> <body> </body> </html> 可以正常打印出x的值:x为全局变量: <html> <he

js parseInt()函数中的问题。。

今天在看<javascript 高级程序设计>时, 与我的输出结果不符合, <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <script> document.writeln(parseInt("11",8)); //9 document.wr

JS事件处理函数中return false到底是什么东西

在<JS DOM编程艺术>一书中,用return false来阻止事件默认行为,可是js高程3里没有这种用法,那这到底是什么呢. 先看一下知乎的一个解释 就此问题,首先要纠正两个观点: 1. 事件处理方法中 的 return false 并不是终止事件,而是阻止事件宿主的默认行为: 2. 不是在所有的事件处理方法中 return fasle 都能阻止事件宿主的默认行为: 事实上,仅仅是在HTML事件属性 和 DOM0级事件处理方法中 才能通过返回 return false 的形式组织事件宿主的