首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JS控制好this关键字指向

javascript this 指向不太好控制,理解不好的话很容易错误 下面几个示例可以加深对this指向理解 (1)内联事件 <a href="#" onclick="alert(this.tagName...( duang.hi, 1000); setInterval( duang.hi, 1000); 这两种情况都会弹出“我是 全局” 因为setTimeout和setInterval都会改变this<em>的</em>指向为...: "duang", hi: function() { alert("I'm " + this.name); } }; btn.onclick = duang.hi; 点击按钮后,并没弹出duangname...属性值,而是弹出了buttonname属性 说明这种方法会使this指向dom节点本身 如果想this指向duang对象,可以使用匿名函数解决 btn.onclick = function ()...函数 这时点击结果为 "I'm 全局",说明this指向了window对象 注意,使用call和apply调用方法时,this指向会被改为window

1.4K110

简单理解JSthis关键字 - wuuconixs blog

背景 之前在看《You Don’t Know JS - 1st Edition》这本书时候,它对this解释是针对各个this在哪里被调用分为四种情况。...f是作为对象o一个方法被调用,所以this指向对象o 《You Don’t Know JS隐式绑定就属于这种最简单和清晰情况。...独立函数调用 这种情况对应《You Don’t Know JS默认绑定。...所以显示绑定在某种程度上也可以看作暂时把函数f当作了对象o方法,然后调用。 构造函数this 这对应《You Don’t Know JS new绑定。...name}const f = new F("wuuconix")console.log(f.name) // => "wuuconix" 在这里,定义了一个构造函数F,然后利用new关键字调用了这个构造函数

71910
您找到你想要的搜索结果了吗?
是的
没有找到

jsthis关键字,setTimeout(),setInterval()执行过程

= { name:'windseek2', showname: function () { console.log(this.name); } } test2.showname() 运算结果是一样...} var test2 = { name:'windseek2', showname: function () { test1.showname(); } } test2.showname() 这时运算结果应该是...windseek,因为test2.showname()执行时会找到test()执行,test=function () {console.log(this.name);},test前面没有任何对象,作用域就是全局,...1000); } } test2.showname(); 结果就是windseek其实,setTimeout等价于这种函数function(__callback){ __callback();} 最后执行是...callback(); })(test1.showname); } } test2.showname(); 结果一样也是windseek,但是这个不会延迟,settimeout会延迟,setInterval也是一样原理

1.2K50

JS游戏编程基础】关于jsthis关键字理解

this关键字在c++,java中都提供了这个关键字,在刚开始学习时觉得有难度,但是只要理解了,用起来就方便多了,下面通过本篇文章给大家详解js里this关键字理解。...接下来你谈谈我对它理解,也作为一个笔记,方便以后参阅。有不对地方,欢迎指出批评。 1. 不像C#,this一定是指向当前对象。 jsthis指向是不确定,也就是说是可以动态改变。...()方法this关键字,指示对象是IEwindow对象。...8、函数内部函数中使用this关键字: ? view plaincopy to clipboardprint?...归纳起来,JavaScriptthis用法有以下3种(详细用法参原文): 1.在HTML元素事件属性 或 CSSexpression表达式 inline方式使用this关键字——对应原文

3.1K101

Rust关键字

---- 严格关键字 as - 强制类型转换,消除特定包含项 trait 歧义,或者对 use 和 extern crate 语句中项重命名 async - 返回一个 Future 而不是阻塞当前线程...mut - 表示引用、裸指针或模式绑定可变性 pub - 表示结构体字段、impl 块或模块公有可见性 ref - 通过引用绑定 return - 从函数返回 Self - 定义或实现 trait...- 定义一个 trait true - 布尔字面值 true type - 定义一个类型别名或关联类型 union - 定义一个 union 并且是 union 声明唯一用到关键字 use - 引入外部空间符号...where - 表示一个约束类型从句 while - 基于一个表达式结果判断是否进行循环 保留关键字 以下关键字目前没有任何功能,不过由 Rust 保留以备将来使用 abstract become...static 可以使用原始标识符方式,做到使用这些关键字也能通过编译 原始标识符(Raw identifiers)允许你使用通常不能使用关键字,其带有 r# 前缀

14650

JavaScriptthis关键字

二、this值 在全局环境(任何函数调用外部),this值都是全局对象(浏览器是window对象,node是global对象) 在函数内部环境,this值取决于函数被调用方式 三、this...new绑定 通过new关键字调用函数,属于new绑定模式。这时this关键字指向这个新创建对象。...,所以调用obj.foo2()时候this指向是全局对象,而全局对象却没有foo2这个函数,所以报错。...new实例化新对象 可看上述new绑定实例 总结 jsthis指的是允许上下文环境,与后端语言不同 this不是一成一变,会随着环境而变化 严格模式与非严格模式下this也不一样 可以使用多种方式修改...this指向 本文首发于:你不知道this关键字

58030

CSS@关键字

大家可能在CSS见到过字符@然后加一些关键字用法,这种用法就称之为AT规则,在CSS,种类还是很多,这里总结列举下。...某些软件,例如Dreamweaver新建CSS文件时候,自动会带有下面所示代码,但实际开发时候,作用不大,因为meta已经有所设置(),会覆盖,所以我都是直接删掉.../* XHTML命名空间 */ @namespace url(http://www.w3.org/1999/xhtml); /* 内嵌在XHTMLSVG命名空间 */ @namespace svg...如果文档满足给定一些条件,就可以应用我们指定一些样式。比如说,这个CSS文件被子站A调用,和被子站C调用,我们可以通过域名匹配来执行不同CSS样式。这样,我们可以有效避免冲突,或者防止外链之类。...; } } @media 媒介查询,解释非常常用

1.1K10

*Java关键字*

*Java关键字* 说明: 关键字是Java一些具有特定含义单词,定义变量名不能和关键字冲突。...) 三、用于定义类与类之间关系关键字 1.extends(继承) (1)Java继承是单继承,即一个类只能继承一个父类,允许多层继承,简单说就是父类父类...; (2)抽象类是天生父类; (...(3)先继承后实现,即extends关键字必须在implements关键字之前。...五、用于异常处理关键字 1.try 2.catch 3.finally 这三个关键字通常一起使用,形如try{...}catch{...}finally{...}...时,会先将try或catch返回结果保存在局部变量表,直到finally语句执行结束然后返回; (3)try和catchreturn语句不可能同时执行,因为如果tryreturn了,说明没有发生异常

68400

Java关键字

1、java是严格区分大小写 2、关键字有几个特点:全部是小写 Abstract 抽象 一个Java语言中关键字,用在类声明来指明一个类是不能被实例化,但是可以被其它类继承。...implements Java(TM)编程语言一个关键字,在类声明是可选,用来指明当前类实现接口。...protected Java语言一个关键字,在方法和变量声明中使用,它表示这个方法或变量只能被同一个类,子类或者同一个包元素所访问 。...public Java语言一个关键字,在方法和变量声明中使用,它表示这个方法或变量能够被其它类元素访问。 return Java语言一个关键字,用来结束一个方法执行。...它后面可以跟一个方法声明要求值。 short Java语言关键字,用来定义一个short类型变量。 static Java语言关键字,用来定义一个变量为类变量。

69650

JavaScriptwith关键字

原文:http://luopq.com/2016/02/14/js-with-keyword/ 说起jswith关键字,很多小伙伴们第一印象可能就是with关键字作用在于改变作用域,然后最关键一点是不推荐使用...基本说明 在js高级程序设计是这样描述with关键字:with语句作用是将代码作用域设置到一个特定作用域中,基本语法如下: with (expression) statement; 使用with...with关键字弊端 前面的基本说明,我们可以看到with作用之一是简化代码。但是为什么不推荐使用呢?...2、变量提升 js变量提升也是一个经常遇到问题,我们可以简单理解成在js,变量声明会被提升到函数顶部,尽管有的时候,它是在后面声明。...其实在日常编码,我们只需要知道不去使用with就可以了,但是有的时候我们可能会遇到一些关于with奇奇怪怪问题,想要找出真正原因,就要深入理解with关键字,这有助于我们去深入学习JS这门语言,

1.3K40

javastatic关键字作用_javastatic关键字作用

大家好,又见面了,我是你们朋友全栈君。 javastatic关键字主要有两种作用: 第一:为某特定数据类型或对象分配单一存储空间,而与创建对象个数无关。...第二,实现某个方法或属性与类而不是对象关联在一起 简单来说,在Java语言中,static主要有5使用情况:成员变量、成员方法、代码块,内部类和静态导包。...static修饰代码块:仅在类初始化时候执行一次,且加载顺序是严格按照类静态资源定义顺序来加载;静态代码块对于定义在它之后静态变量,可以赋值,但是不能访问。;父类代码块->子类代码块。....*”,这样在类中就可以直接使用Math类静态方法而不需要写类名,个人认为,在频繁使用某个类时候比较方便,但是降低了可读性。...,为了实现这一功能,必须隐藏类构造函数,即把构造函数声明为private,并提供一个创建对象方法,由于构造对象被声明为private,外界无法直接创建这个类型对象,只能通过该类提供方法来获取类对象

60850

JS】374- 重学 this 关键字

4. call 关键字在写代码过程还是比较常用,有时候我们常常会使用 call 关键字来指定某个函数运行时上下文,有时候还使用 call 关键字实现继承。...如果是在 Node.js 环境运行 this——globel对象。在浏览器运行结果为5 在 Node.js 环境为 undefined。...Node.js 环境下指向全局this关键字说明(你可能不知道) 为什么在浏览器或者前端环境可以直接正常输出值,而在 Node.js 环境输出却是 undefined。...[]语法this关键字 function fn (){ console.log(this) } var arr = [fn, fn2] arr[0]() // 这里面的 this 又是什么呢?...参考文章 MDNthis关键字讲解 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/this

1.5K10

js搜索关键字(Ctrl + F)

为了自救,人类提出一个名为“流浪地球”大胆计划,即倾全球之力在地球表面建造上万座发动机和转向发动机,推动地球离开太阳系,用2500年时间奔往另外一个栖息之地。...转眼刘启(屈楚萧 饰)长大,他带着妹妹朵朵(赵今麦 饰)偷偷跑到地表,偷开外公韩子昂(吴孟达 饰)运输车,结果不仅遭到逮捕,还遭遇了全球发动机停摆事件。...在与时间赛跑过程,无数的人前仆后继,奋不顾身,只为延续百代子孙生存希望…… var inputKeyword = document.getElementsByTagName...testString.split("z"); console.log(resultNo); // ["The Wandering Earth"] // 4. arrayObject.join(separator) 把数组所有元素放入一个字符串...该字符串是通过把 arrayObject 每个元素转换为字符串,然后把这些字符串连接起来,在两个元素之间插入 separator 字符串而生成

4.4K30

前端测试题:(解析)关于JSthis关键字说法,下面错误是?

考核内容: this关键字 题发散度: ★ 试题难度: ★★ 解题思路: 可以参考以下说明: 前端测试题: 关于this用法下面说法正确是?...this 工作原理 JavaScript 有一套完全不同于其它语言对 this 处理机制。在五种不同情况下 ,this 指向各不相同。...1.全局范围: this; 浏览器运行 JavaScript 脚本,这个全局对象是 window。 2.全局函数调用: foo(); 这里 this 也会指向全局对象。...从以上可以看出: this 指向并不是函数foo, 而是 c 调用函数作为一个对象属性出现时,this 指向是“.”或“[”关键符号 前那个对象 4.显式设置 this function...因此函数调用规则在上例已经不适用了,在foo 函数内 this 被设置成了 bar。

1.7K20
领券