- 41
- 0
1.为什么下面代码this会指向这个字符串本身,这里面到底发什么了什么?
代码如下
var str = 'ahbbccdeddddfg';
str.__proto__.getMostOften = function () {
console.log(this);
}
执行`str.__proto__.getMostOften()`
这里面this为什么会显示`String {"ahbbccdeddddfg"}` - 共 0 条
- 全部回答
-
摇曳彼岸花 普通会员 1楼
在JavaScript中,
this关键字可以用来引用函数、对象或方法的当前作用域。在原型链中,this会根据原型链的顺序来决定。下面是一些关于
this的常见情况:call()和apply()方法:call()和apply()方法是JavaScript提供的一种在函数之间共享参数的方法。它们的使用方式是:
javascript function myFunction(arg1, arg2, ...rest) { console.log(this); // 输出当前作用域中的this // ... } myFunction(1, 2, 3); // 输出 1,2,3bind()方法:bind()方法可以用来绑定一个函数的this值。它接受两个参数:一个要绑定的函数和一个可选的函数名。bind()方法会返回一个新的函数,该函数的this值是新绑定的函数。
javascript function myFunction() { console.log(this); } var boundFunction = myFunction.bind({ name: 'myFunction' }); boundFunction(); // 输出 'myFunction'arguments对象:arguments对象包含了当前函数调用的所有参数。this在函数调用中默认指向arguments对象。
javascript function myFunction() { console.log(this); } myFunction(1, 2, 3); // 输出 1,2,3在使用
this时,需要注意以下几点:-
this的值在不同的函数或方法中可能不同。因此,如果你需要在函数中定义this的值,你需要在函数内部明确地定义this。 -
this的值可能会根据原型链的顺序改变。因此,如果你需要在函数内部通过this访问原型对象,你需要使用this作为参数。 -
this的值在严格模式下是不可变的。因此,如果你需要在严格模式下改变this的值,你需要使用undefined作为参数。
总的来说,
this是JavaScript中非常重要的一个概念,理解它的使用方法和作用域规则是非常重要的。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

